def test_set_field_defaults(self): """ Test that `set_field_defaults` sets port to `MONGODB_SERVER_DEFAULT_PORT` if not specified. The `set_field_defaults` method is called when a MongoDBServer is first created. """ default_mongodb_server = MongoDBServerFactory() self.assertEqual(default_mongodb_server.port, MONGODB_SERVER_DEFAULT_PORT) custom_mongodb_server = MongoDBServerFactory(port=1234) self.assertEqual(custom_mongodb_server.port, 1234)
def setUp(self): self.mongodb_server = MongoDBServerFactory()
class MongoDBServerTest(TestCase): """ Test cases for the MongoDBServer model. """ def setUp(self): self.mongodb_server = MongoDBServerFactory() def test_default_settings_name(self): """ Test that MongoDBServer defines `DEFAULT_SETTINGS_NAME` field with appropriate value. """ try: default_settings_name = MongoDBServer.DEFAULT_SETTINGS_NAME except AttributeError: self.fail( 'MongoDBServer must define `DEFAULT_SETTINGS_NAME` field.') else: self.assertEqual(default_settings_name, 'DEFAULT_INSTANCE_MONGO_URL') def test_protocol(self): """ Test that `protocol` property returns correct value. """ self.assertEqual(self.mongodb_server.protocol, 'mongodb') @ddt.data( (None, 'user', 'pass', 'mongodb://*****:*****@mongodb-server'), (None, 'user', None, 'mongodb://user@mongodb-server'), (None, None, 'pass', 'mongodb://mongodb-server'), (None, None, None, 'mongodb://mongodb-server'), (1234, 'user', 'pass', 'mongodb://*****:*****@mongodb-server:1234'), (1234, 'user', None, 'mongodb://user@mongodb-server:1234'), (1234, None, 'pass', 'mongodb://mongodb-server:1234'), (1234, None, None, 'mongodb://mongodb-server:1234'), ) @ddt.unpack def test_url(self, port, username, password, expected_url): """ Test that `url` property returns correct URL. """ self.mongodb_server.hostname = 'mongodb-server' if port: self.mongodb_server.port = port if username: self.mongodb_server.username = username if password: self.mongodb_server.password = password self.mongodb_server.save() self.assertEqual(self.mongodb_server.url, expected_url) @ddt.data( (None, 'user', 'pass', True), (None, 'user', 'word', False), (None, 'name', 'pass', False), (None, 'name', 'word', False), (1234, 'user', 'pass', True), (1234, 'user', 'word', False), (1234, 'name', 'pass', False), (1234, 'name', 'word', False), (5678, 'user', 'pass', False), (5678, 'user', 'word', False), (5678, 'name', 'pass', False), (5678, 'name', 'word', False), ) @ddt.unpack def test_settings_match(self, port, username, password, expected_result): """ Test that `settings_match` method correctly reports whether settings of a MongoDB server match the settings passed to the method. """ # If caller does not specify `port`, `settings_match` should compare # port of MySQL server to `MYSQL_SERVER_DEFAULT_PORT`, # so only set port on MySQL server if it is not `None`. if port: self.mongodb_server.port = 1234 self.mongodb_server.username = '******' self.mongodb_server.password = '******' self.mongodb_server.save() self.assertEqual( self.mongodb_server.settings_match(username, password, port), expected_result) def test_set_field_defaults(self): """ Test that `set_field_defaults` sets port to `MONGODB_SERVER_DEFAULT_PORT` if not specified. The `set_field_defaults` method is called when a MongoDBServer is first created. """ default_mongodb_server = MongoDBServerFactory() self.assertEqual(default_mongodb_server.port, MONGODB_SERVER_DEFAULT_PORT) custom_mongodb_server = MongoDBServerFactory(port=1234) self.assertEqual(custom_mongodb_server.port, 1234)
def setUp(self): self.mongodb_server = MongoDBServerFactory()
class MongoDBServerTest(TestCase): """ Test cases for the MongoDBServer model. """ def setUp(self): self.mongodb_server = MongoDBServerFactory() def test_default_settings_name(self): """ Test that MongoDBServer defines `DEFAULT_SETTINGS_NAME` field with appropriate value. """ try: default_settings_name = MongoDBServer.DEFAULT_SETTINGS_NAME except AttributeError: self.fail('MongoDBServer must define `DEFAULT_SETTINGS_NAME` field.') else: self.assertEqual(default_settings_name, 'DEFAULT_INSTANCE_MONGO_URL') def test_protocol(self): """ Test that `protocol` property returns correct value. """ self.assertEqual(self.mongodb_server.protocol, 'mongodb') @ddt.data( (None, 'user', 'pass', 'mongodb://*****:*****@mongodb-server'), (None, 'user', None, 'mongodb://user@mongodb-server'), (None, None, 'pass', 'mongodb://mongodb-server'), (None, None, None, 'mongodb://mongodb-server'), (1234, 'user', 'pass', 'mongodb://*****:*****@mongodb-server:1234'), (1234, 'user', None, 'mongodb://user@mongodb-server:1234'), (1234, None, 'pass', 'mongodb://mongodb-server:1234'), (1234, None, None, 'mongodb://mongodb-server:1234'), ) @ddt.unpack def test_url(self, port, username, password, expected_url): """ Test that `url` property returns correct URL. """ self.mongodb_server.hostname = 'mongodb-server' if port: self.mongodb_server.port = port if username: self.mongodb_server.username = username if password: self.mongodb_server.password = password self.mongodb_server.save() self.assertEqual(self.mongodb_server.url, expected_url) @ddt.data( (None, 'user', 'pass', True), (None, 'user', 'word', False), (None, 'name', 'pass', False), (None, 'name', 'word', False), (1234, 'user', 'pass', True), (1234, 'user', 'word', False), (1234, 'name', 'pass', False), (1234, 'name', 'word', False), (5678, 'user', 'pass', False), (5678, 'user', 'word', False), (5678, 'name', 'pass', False), (5678, 'name', 'word', False), ) @ddt.unpack def test_settings_match(self, port, username, password, expected_result): """ Test that `settings_match` method correctly reports whether settings of a MongoDB server match the settings passed to the method. """ # If caller does not specify `port`, `settings_match` should compare # port of MySQL server to `MYSQL_SERVER_DEFAULT_PORT`, # so only set port on MySQL server if it is not `None`. if port: self.mongodb_server.port = 1234 self.mongodb_server.username = '******' self.mongodb_server.password = '******' self.mongodb_server.save() self.assertEqual(self.mongodb_server.settings_match(username, password, port), expected_result) def test_set_field_defaults(self): """ Test that `set_field_defaults` sets port to `MONGODB_SERVER_DEFAULT_PORT` if not specified. The `set_field_defaults` method is called when a MongoDBServer is first created. """ default_mongodb_server = MongoDBServerFactory() self.assertEqual(default_mongodb_server.port, MONGODB_SERVER_DEFAULT_PORT) custom_mongodb_server = MongoDBServerFactory(port=1234) self.assertEqual(custom_mongodb_server.port, 1234)