136 Commits

Author SHA1 Message Date
Mariusz Nowak
4944f471b1
Prettify 2019-06-26 12:43:01 +02:00
Mariusz Nowak
0f181edd67
Rely on skipWithNotice 2019-06-05 09:53:33 +02:00
Mariusz Nowak
c5c6a92292
Skip test on windows when no admin rights 2019-06-04 13:16:33 +02:00
Mariusz Nowak
8b93649def
Merge with master 2019-06-03 11:43:18 +02:00
Mariusz Nowak
f6d993e97b
Merge with master 2019-05-31 12:36:53 +02:00
Philipp Muens
773e9af3c1 Thorough integration testing 2019-05-30 15:20:58 +02:00
Mariusz Nowak
531f4600db
Isolate process.env toggling in tests 2019-05-29 10:15:18 +02:00
Mariusz Nowak
cfa523d91f
Rely on stub(...).callsFake (Upgrade to sinon v2) 2019-05-13 20:43:22 +02:00
Philipp Muens
11ff959129
Merge pull request #5926 from serverless/serverless-instance-id
Add Serverless instanceId concept
2019-03-25 12:23:16 +01:00
Philipp Muens
5cba21730c Merge branch 'master' into sls-5225 2019-03-22 10:47:11 +01:00
Philipp Muens
63c371c057 Turn Serverless Variable into plain value 2019-03-22 10:08:19 +01:00
Philipp Muens
391488bb39 Add ${sls:} Serverless Variable 2019-03-22 10:08:19 +01:00
exoego
616c744bd3 It should return json if referencing JSON in AWS SecretsManager. 2019-02-17 16:49:11 +09:00
Jerry Wang
041f717e07 fix makeDeepVariable replacement 2019-02-07 17:49:35 -05:00
Erik Erikson
f95a99096e Append in Custom Syntax
Respect custom variable syntaxes when appending to deep variables.
2019-02-05 17:11:53 -08:00
exoego
b67455db6e Add tests for #5398 2019-02-02 22:45:39 +09:00
Eslam λ Hefnawy
8c53de83bf
Merge pull request #5758 from exoego/default-values
AWS: Add fallback support in ${cf} and ${s3}
2019-01-31 15:29:29 +03:00
Daniel Schep
0fb47a1e74 also preresolve keys within credentials 2019-01-29 16:33:08 -05:00
Daniel Schep
b3df0517f1 Require provider.credentials vars to be resolved before s3/ssm/cf vars
Similar to long standing region/stage and new profile preresolve.

test uses the service definition instead of `getCredentials` because
`getCredentials` is much more complex than `getStage`/`getProfile`/`getRegion`
and we only need to test that the config is updated, not all the
credential setting logic
2019-01-29 13:56:59 -05:00
exoego
b67d9ca03c Support default value if ${s3} and ${cf} failed. 2019-01-27 17:00:22 +09:00
exoego
d40e2b31eb Add tests for fallback. 2019-01-27 13:17:01 +09:00
Daniel Schep
92f4f67337 tests for resolving profile before aws vars 2019-01-25 11:37:08 -05:00
exoego
cec6d5501b Suppress confusing warning since root cause is warned elsewhere. 2019-01-19 07:20:49 +09:00
exoego
f434009c45 Move stage name validation to Service#validate.
Since validation should be performed after service.functions are resolved.
2019-01-16 16:39:09 +09:00
Daniel Schep
96906c1c70
Merge pull request #5686 from exoego/validation-after-var-resolution
AWS: Fix stage name validation timing and allow hyphen
2019-01-13 20:25:53 -05:00
exoego
fe6cb01302 Fix error message. 2019-01-12 17:33:38 +09:00
exoego
ef591b2677 Add test case when the populated variable is valid. 2019-01-12 17:23:45 +09:00
exoego
df780c36e3 Allow underscore too. 2019-01-12 17:17:40 +09:00
exoego
a12bb5bf71 Allow hyphen which is valid for API Gateway now. 2019-01-12 08:53:29 +09:00
exoego
5ca31157b7 Add test case to increase coverage. 2019-01-12 08:33:50 +09:00
exoego
6e0d7a86d1 Implement after-variable-resolution stage name validation for AWS. 2019-01-12 08:11:50 +09:00
Daniel Schep
d837e9baae Merge remote-tracking branch 'origin/master' into sls-5225 2019-01-07 13:25:57 -05:00
Daniel Schep
0896f311b1
Merge pull request #5312 from Limess/4496/handle-scoped-packages
Handle scoped npm packages in ${file()} variables
2019-01-07 10:56:25 -05:00
Daniel Schep
5c2c1ae405 Allow * in variable string literal defaults
closes #5225
closes #4959
2018-12-31 10:47:24 -05:00
Daniel Schep
6c4a3b93a5 add broader * in var test, encompasing #4959 2018-12-31 10:35:22 -05:00
Daniel Schep
bdf3ca6333 test for #5225 2018-12-21 10:14:16 -05:00
Daniel Schep
e99e71d215 lint 2018-12-13 09:32:46 -05:00
Daniel Schep
63fb1309d3 restore support for variable refs with spaces in them 2018-12-13 09:16:57 -05:00
horike37
4336340aa4 Merge remote-tracking branch 'root/master' into cf-ref-region 2018-12-10 12:01:41 +09:00
exoego
e90e293c71 Add region suffix support to CloudFormation reference syntax 2018-12-08 20:44:16 +09:00
exoego
1a9cdf356b Remove whitespace-celaning that seems unnecessary. 2018-12-06 21:36:00 +09:00
Charlie Briggs
8f8c27ae7e Handle scoped packages in ${file()} variables
Currently @ is not a valid variable character, so it doesn't get parsed
as one.
When it does get parsed, @ is not considered valid as part of a file path
- we add a blacklist as per https://github.com/serverless/serverless/pull/4528 to
handle this case.
2018-09-19 17:26:50 +01:00
Erik Erikson
2ebc65fe97 Fix Embedded Deep Variable in Variable String, within Override bug
If an override comes back as a variable containing a deep variable (e.g. `''${self:custom.${deep:1}, "fallback"}''`) or really any variable at all, it needs to be made a deep variable and paused for next iteration.  Do this generally rather than only in the case of deep variables.  See the test case for a circumstance that the prior fix didn't resolve.  This more generalized handling improves the fix and solves a remaining issue we found locally.
2018-08-17 17:50:58 -07:00
Erik Erikson
73ebe0f66b Fix #5205
Use the variable string from which the overwrite parameters were extracted as the replacement target (in the case of deep variable discovery) rather than the context property which represents the entire original value that the replacement is being waited upon.  That context property can contain far more content than the overwrite string itself.
2018-08-16 18:35:53 -07:00
Takahiro Horike
659df3651c
Merge pull request #5119 from gcphost/master
#5110 null error on undefined AWS SSM variables
2018-08-06 21:31:57 +09:00
Erik Erikson
42d1749c36 When evaluating overwrite values, identify deep values and pause population.
This avoids taking a deep value as a valid term within an overwrite 
(defaulting) variable statement that will later resolve to undefined 
but, as a deep variable string, is valid in immediate evaluation.

Fixes #5027
2018-07-24 14:42:21 -07:00
William
0f1c8047da Use statusCode for comparison, update tests to provide correct statusCode. 2018-07-16 21:51:02 -07:00
Erik Erikson
534dda6285 Fix #4973
Do a better job of extracting the current variable syntax for use in deep variable generation.
2018-05-18 00:04:37 -07:00
Erik Erikson
63045fd206 Fix #4946
Use the variable syntax present in the given variable string, extracting it from the given string that may contain embedded custom variables (i.e. `${{self:var.${{self:var.foo}}.bar}}`).
2018-05-02 11:52:24 -07:00
Erik Erikson
71c6db9687 Re-write self:service.[...] to self:serviceObject.[...]
Handle `self:service.[...]` references properly.  The prior represents what the user typed into their configuration.  In service, we move all this from `service` to `serviceObject`, therefore, by rewriting `self:service.[...]` to `self:serviceObject.[...]` user's will get the result they expect.
Use else if, given exclusivity of conditions
2018-03-27 15:34:34 -07:00