Tests for environment module
This commit is contained in:
@@ -19,10 +19,25 @@ class ServerEnvironment(object):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self._environment_str
|
return self._environment_str
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_development(self):
|
||||||
|
return self._environment_str == self.DEVELOPMENT
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_staging(self):
|
||||||
|
return self._environment_str == self.STAGING
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_production(self):
|
||||||
|
return self._environment_str == self.PRODUCTION
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def is_onpremise(self):
|
def is_onpremise(self):
|
||||||
return self._environment_str == self.ONPREMISE
|
return self._environment_str == self.ONPREMISE
|
||||||
|
|
||||||
|
def __eq__(self, other):
|
||||||
|
return self._environment_str == other._environment_str
|
||||||
|
|
||||||
|
|
||||||
class ServerEnvironmentBuilder(object):
|
class ServerEnvironmentBuilder(object):
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
from unittest import TestCase
|
||||||
|
from cartodb_services.refactor.core.environment import *
|
||||||
|
from nose.tools import raises
|
||||||
|
from cartodb_services.refactor.storage.mem_config import InMemoryConfigStorage
|
||||||
|
|
||||||
|
class TestServerEnvironment(TestCase):
|
||||||
|
|
||||||
|
def test_can_be_a_valid_one(self):
|
||||||
|
env_dev = ServerEnvironment('development')
|
||||||
|
env_staging = ServerEnvironment('staging')
|
||||||
|
env_prod = ServerEnvironment('production')
|
||||||
|
env_onpremise = ServerEnvironment('onpremise')
|
||||||
|
|
||||||
|
@raises(AssertionError)
|
||||||
|
def test_cannot_be_a_non_valid_one(self):
|
||||||
|
env_whatever = ServerEnvironment('whatever')
|
||||||
|
|
||||||
|
def test_is_on_premise_returns_true_when_onpremise(self):
|
||||||
|
assert ServerEnvironment('onpremise').is_onpremise == True
|
||||||
|
|
||||||
|
def test_is_on_premise_returns_true_when_any_other(self):
|
||||||
|
assert ServerEnvironment('development').is_onpremise == False
|
||||||
|
assert ServerEnvironment('staging').is_onpremise == False
|
||||||
|
assert ServerEnvironment('production').is_onpremise == False
|
||||||
|
|
||||||
|
def test_equality(self):
|
||||||
|
assert ServerEnvironment('development') == ServerEnvironment('development')
|
||||||
|
assert ServerEnvironment('development') <> ServerEnvironment('onpremise')
|
||||||
|
|
||||||
|
|
||||||
|
class TestServerEnvironmentBuilder(TestCase):
|
||||||
|
|
||||||
|
def test_returns_env_according_to_configuration(self):
|
||||||
|
server_config_storage = InMemoryConfigStorage({
|
||||||
|
'server_conf': {
|
||||||
|
'environment': 'staging'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
server_env = ServerEnvironmentBuilder(server_config_storage).get()
|
||||||
|
assert server_env.is_staging == True
|
||||||
|
|
||||||
|
def test_returns_default_when_no_server_conf(self):
|
||||||
|
server_config_storage = InMemoryConfigStorage({})
|
||||||
|
server_env = ServerEnvironmentBuilder(server_config_storage).get()
|
||||||
|
|
||||||
|
assert server_env.is_development == True
|
||||||
|
assert str(server_env) == ServerEnvironmentBuilder.DEFAULT_ENVIRONMENT
|
||||||
Reference in New Issue
Block a user