def setUp(self): """initializes new amenity for testing""" if (environ(HBNB_TYPE_STORAGE) == "db"): DBStorage.__init__() amenityA = Amenity(name="wifi") DBStorage.new(amenityA) DBStorage.save() else: self.amenity = Amenity()
def test_new(self): """test when new is created""" storage = DBStorage() obj = storage.all() user = User() user.id = 123455 user.name = "Kevin" storage.new(user) key = user.__class__.__name__ + "." + str(user.id) self.assertIsNotNone(obj[key])
def test_new(self): """test when new is created""" storage = DBStorage() obj = storage.all() user = User() user.id = 123455 user.name = "Kevin" user.email = "x" user.password = "******" storage.new(user) key = user.__class__.__name__ + "." + str(user.id) if os.environ['HBNB_TYPE_STORAGE'] != 'db': self.assertIsNotNone(obj[key])
class TestDBStorage(unittest.TestCase): """ Class to test the file storage method """ @classmethod def setUpClass(self): """setUpClass module""" storage._DBStorage__session.close() self.store = DBStorage() self.store.reload() @classmethod def tearDownClass(self): """tearDownClass module""" self.store._DBStorage__session.close() storage.reload() def test_all(self): """print alls objects""" self.assertEqual(len(self.store.all()), 0) new_obj = State() new_obj.name = 'California' self.store.new(new_obj) self.assertEqual(len(self.store.all()), 1) # Make all('classname') work without console def test_new(self): """New objects""" new_obj = State() new_obj.name = "Texas" new_obj.save() self.assertTrue(len(self.store.all()), 1) def test_save(self): """save objects""" self.store.reload() new_obj = State() new_obj.name = 'Washington' self.store.new(new_obj) self.store.save() self.assertEqual(len(self.store.all()), 4) def test_delete(self): new_obj = State() new_obj.name = "Michigan" self.store.new(new_obj) self.store.save() self.store.delete(new_obj) self.assertFalse(new_obj in self.store.all()) def test_reload(self): """reload datas objects""" new_obj = City() self.store.new(new_obj) self.store.reload() test_len = len(self.store.all()) self.assertEqual(test_len, 3) self.store.reload() for value in self.store.all().values(): self.assertIsInstance(value.created_at, datetime)
class TestDBStorage(unittest.TestCase): """Tests the DBStorage class""" def test_pep8_FileStorage(self): """Tests pep8 style""" style = pep8.StyleGuide(quiet=True) p = style.check_files(['models/engine/db_storage.py']) self.assertEqual(p.total_errors, 0, "fix pep8") @classmethod def setUpClass(cls): """set up for test""" """ environ['HBNB_ENV'] = 'test' environ['HBNB_MYSQL_USER'] = '******' environ['HBNB_MYSQL_PWD'] = 'hbnb_test_pwd' environ['HBNB_MYSQL_HOST'] = 'localhost' environ['HBNB_MYSQL_DB'] = 'hbnb_test_db' environ['HBNB_TYPE_STORAGE'] = 'db' """ pass @unittest.skipIf('HBNB_TYPE_STORAGE' not in environ or environ['HBNB_TYPE_STORAGE'] != 'db', 'These tests\ should only be used when storage type is db') def setUp(self): """Setup the class""" self.user = User() self.user.first_name = "Kev" self.user.last_name = "Yo" self.user.email = "*****@*****.**" self.user.password = "******" self.storage = DBStorage() self.storage.reload() def tearDownClass(): """ del environ['HBNB_ENV'] del environ['HBNB_MYSQL_USER'] del environ['HBNB_MYSQL_PWD'] del environ['HBNB_MYSQL_HOST'] del environ['HBNB_MYSQL_DB'] del environ['HBNB_TYPE_STORAGE'] """ pass @unittest.skipIf('HBNB_TYPE_STORAGE' not in environ or environ['HBNB_TYPE_STORAGE'] != 'db', 'These tests\ should only be used when storage type is db') def test_all(self): """ Tests db_storage all method to query objects in the database """ original_len = self.storage.all(User) self.storage.new(self.user) self.storage.save() new_len = self.storage.all(User) self.assertTrue(original_len != new_len) @unittest.skipIf('HBNB_TYPE_STORAGE' not in environ or environ['HBNB_TYPE_STORAGE'] != 'db', 'These tests\ should only be used when storage type is db') def test_new(self): """ Tests db_storage new method to add a new object""" original_len = self.storage.all(User) self.storage.new(self.user) self.storage.save() new_len = self.storage.all(User) self.assertTrue(original_len != new_len) @unittest.skipIf('HBNB_TYPE_STORAGE' not in environ or environ['HBNB_TYPE_STORAGE'] != 'db', 'These tests\ should only be used when storage type is db') def test_save(self): """ Tests db_storage save method to save the added object """ original_len = self.storage.all(User) self.storage.new(self.user) self.storage.save() new_len = self.storage.all(User) self.assertTrue(original_len != new_len) @unittest.skipIf('HBNB_TYPE_STORAGE' not in environ or environ['HBNB_TYPE_STORAGE'] != 'db', 'These tests\ should only be used when storage type is db') def test_delete(self): """ Tests db_storage delete method to delete an object form the db """ original_len = self.storage.all(User) self.storage.new(self.user) self.storage.save() self.storage.delete(self.user) new_len = self.storage.all(User) self.assertTrue(original_len == new_len) @unittest.skipIf('HBNB_TYPE_STORAGE' not in environ or environ['HBNB_TYPE_STORAGE'] != 'db', 'These tests\ should only be used when storage type is db') def test_reload(self): """Tests db_storage delete method""" pass """def test_reload(self):
class testDBStorage(unittest.TestCase): ''' unittest class for testing DBStorage module ''' def setUp(self): ''' Sets up the environment for testing DBStorage ''' os.environ['HBNB_TYPE_STORAGE'] = 'db' os.environ['HBNB_MYSQL_USER'] = '******' os.environ['HBNB_MYSQL_PWD'] = 'hbnb_test_pwd' os.environ['HBNB_MYSQL_HOST'] = 'localhost' os.environ['HBNB_MYSQL_DB'] = 'hbnb_test_db' self.storage = DBStorage() self.my_model = models.BaseModel() self.storage.reload() def test_DBStorage_type_storage_environ(self): ''' Test if environment is updating ''' self.assertEqual(os.getenv('HBNB_TYPE_STORAGE'), 'db') def test_DBStorage_all_method(self): ''' Test all method ''' new_dict = self.storage.all() self.assertTrue(type(new_dict) == type(dict())) def test_DBStorage_new_method(self): ''' Test new method ''' new_state = models.State() self.storage.new(new_state) self.assertTrue(new_state in self.storage._DBStorage__session) def test_DBStorage_reload_method(self): ''' Test reload method ''' test = self.storage._DBStorage__engine.execute("show databases;") test = [x for x in test] new = False for x in test: if os.getenv('HBNB_MYSQL_DB') in x[0]: new = True self.assertTrue(new,) def test_DBStorage_delete_method(self): ''' Test delete method ''' def test_DBStorage_delete_parent_deletes_children(self): ''' Test if deleting a parent deletes the children as well ''' def test_DBStorage_save_method(self): ''' Test save method ''' def test_DBStorage_in_correct_DB(self): ''' Test if going to correct database ''' def test_DBStorage_drop_all(self): '''
def do_test(self, args): DBStorage.new(self, eval("User")())