from unit.applications.lang.python import TestApplicationPython class TestPythonEnvironment(TestApplicationPython): prerequisites = {'modules': {'python': 'any'}} def test_python_environment_name_null(self): self.load('environment') assert 'error' in self.conf( {"va\0r": "val1"}, 'applications/environment/environment' ), 'name null' def test_python_environment_name_equals(self): self.load('environment') assert 'error' in self.conf( {"var=": "val1"}, 'applications/environment/environment' ), 'name equals' def test_python_environment_value_null(self): self.load('environment') assert 'error' in self.conf( {"var": "\0val"}, 'applications/environment/environment' ), 'value null' def test_python_environment_update(self): self.load('environment') self.conf({"var": "val1"}, 'applications/environment/environment') assert ( self.get( headers={ 'Host': 'localhost', 'X-Variables': 'var', 'Connection': 'close', } )['body'] == 'val1' ), 'set' self.conf({"var": "val2"}, 'applications/environment/environment') assert ( self.get( headers={ 'Host': 'localhost', 'X-Variables': 'var', 'Connection': 'close', } )['body'] == 'val2' ), 'update' def test_python_environment_replace(self): self.load('environment') self.conf({"var1": "val1"}, 'applications/environment/environment') assert ( self.get( headers={ 'Host': 'localhost', 'X-Variables': 'var1', 'Connection': 'close', } )['body'] == 'val1' ), 'set' self.conf({"var2": "val2"}, 'applications/environment/environment') assert ( self.get( headers={ 'Host': 'localhost', 'X-Variables': 'var1,var2', 'Connection': 'close', } )['body'] == 'val2' ), 'replace' def test_python_environment_clear(self): self.load('environment') self.conf( {"var1": "val1", "var2": "val2"}, 'applications/environment/environment', ) assert ( self.get( headers={ 'Host': 'localhost', 'X-Variables': 'var1,var2', 'Connection': 'close', } )['body'] == 'val1,val2' ), 'set' self.conf({}, 'applications/environment/environment') assert ( self.get( headers={ 'Host': 'localhost', 'X-Variables': 'var1,var2', 'Connection': 'close', } )['body'] == '' ), 'clear' def test_python_environment_replace_default(self): self.load('environment') home_default = self.get( headers={ 'Host': 'localhost', 'X-Variables': 'HOME', 'Connection': 'close', } )['body'] assert len(home_default) > 1, 'get default' self.conf({"HOME": "/"}, 'applications/environment/environment') assert ( self.get( headers={ 'Host': 'localhost', 'X-Variables': 'HOME', 'Connection': 'close', } )['body'] == '/' ), 'replace default' self.conf({}, 'applications/environment/environment') assert ( self.get( headers={ 'Host': 'localhost', 'X-Variables': 'HOME', 'Connection': 'close', } )['body'] == home_default ), 'restore default'