code: def assert_keys_have_values(self, caller, *keys):
          
          for key in keys:
              self.assert_key_has_value(key, caller)
docs: Check that keys list are all in context and all have values.
  
          Args:
              *keys: Will check each of these keys in context
              caller: string. Calling function name - just used for informational
                      messages
  
          Raises:
              KeyNotInContextError: Key doesn't exist
              KeyInContextHasNoValueError: context[key] is None
              AssertionError: if *keys is None