Exemple #1
0
def _ApplyEnvVarsArgsToFunction(function, args):
    """Determines if environment variables have to be updated.

  It compares the cli args with the existing environment variables to compute
  the resulting build environment variables.

  Args:
    function: CloudFunction message to be checked and filled with env vars based
      on the flags
    args: all cli args

  Returns:
    updated_fields: update mask containing the list of fields that are
    considered for updating based on the cli args and existing variables
  """

    updated_fields = []
    old_env_vars = env_vars_api_util.GetEnvVarsAsDict(
        function.environmentVariables)
    env_var_flags = map_util.GetMapFlagsFromArgs('env-vars', args)
    new_env_vars = map_util.ApplyMapFlags(old_env_vars, **env_var_flags)
    if old_env_vars != new_env_vars:
        env_vars_type_class = api_util.GetApiMessagesModule(
        ).CloudFunction.EnvironmentVariablesValue
        function.environmentVariables = env_vars_api_util.DictToEnvVarsProperty(
            env_vars_type_class, new_env_vars)
        updated_fields.append('environmentVariables')
    return updated_fields
Exemple #2
0
def _ApplyEnvVarsArgsToFunction(function, args):
    updated_fields = []
    old_env_vars = env_vars_api_util.GetFunctionEnvVarsAsDict(function)
    env_var_flags = map_util.GetMapFlagsFromArgs('env-vars', args)
    new_env_vars = map_util.ApplyMapFlags(old_env_vars, **env_var_flags)
    if old_env_vars != new_env_vars:
        function.environmentVariables = env_vars_api_util.DictToEnvVarsProperty(
            new_env_vars)
        updated_fields.append('environmentVariables')
    return updated_fields
Exemple #3
0
    def testDictToEnvVarsProperty(self, env_vars_type_class):
        expected = (env_vars_type_class(additionalProperties=[
            env_vars_type_class.AdditionalProperty(key='BAZ', value='BOO'),
            env_vars_type_class.AdditionalProperty(key='FOO', value='BAR'),
        ]))

        env_vars_dict = {
            'FOO': 'BAR',
            'BAZ': 'BOO',
        }
        actual = env_vars.DictToEnvVarsProperty(env_vars_type_class,
                                                env_vars_dict)
        self.assertEqual(expected, actual)
    def testDictToEnvVarsProperty(self):
        messages = api_util.GetApiMessagesModule()
        env_vars_class = messages.CloudFunction.EnvironmentVariablesValue
        expected = (env_vars_class(additionalProperties=[
            env_vars_class.AdditionalProperty(key='BAZ', value='BOO'),
            env_vars_class.AdditionalProperty(key='FOO', value='BAR'),
        ]))

        env_vars_dict = {
            'FOO': 'BAR',
            'BAZ': 'BOO',
        }
        actual = env_vars.DictToEnvVarsProperty(env_vars_dict)
        self.assertEqual(expected, actual)
 def testDictToEnvVarsPropertyNone(self):
     actual = env_vars.DictToEnvVarsProperty(None)
     self.assertEqual(None, actual)
Exemple #6
0
 def testDictToEnvVarsPropertyNone(self, env_vars_type_class):
     actual = env_vars.DictToEnvVarsProperty(env_vars_type_class, None)
     self.assertIsNone(actual)