Tests for environment module

This commit is contained in:
Rafa de la Torre
2016-10-04 14:56:06 +02:00
parent 2a1276f4f1
commit 3844cfc226
2 changed files with 62 additions and 0 deletions

View File

@@ -19,10 +19,25 @@ class ServerEnvironment(object):
def __str__(self):
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
def is_onpremise(self):
return self._environment_str == self.ONPREMISE
def __eq__(self, other):
return self._environment_str == other._environment_str
class ServerEnvironmentBuilder(object):

View File

@@ -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