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])
示例#4
0
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)
示例#5
0
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):
示例#6
0
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):
        '''
示例#7
0
 def do_test(self, args):
     DBStorage.new(self, eval("User")())