示例#1
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)
 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_name_attribute(self):
     expected = "wifi"
     amenity_name = session.query(Amenity).filter(
         Amenity.id == self.amenityA.id).one()
     amenity_name.name = "wifi"
     DBStorage.save(amenity_name)
     actual = DBStorage.__session.query(
         Amenity.name).filter(Amenity.id == self.amenityA.id).one()
     self.assertEqual(actual, expected)
 def test_all(self):
     """tests if all works in File Storage"""
     storage = DBStorage()
     storage.reload()
     dict_len = len(storage.all())
     s = State(name="test_all_state")
     s.save()
     storage.save()
     self.assertIs(len(storage.all()), dict_len + 1)
 def test_all(self):
     """tests all in File Storage"""
     storage = DBStorage()
     storage.reload()
     len_of_dict = len(storage.all())
     state = State(name="test_all_state")
     state.save()
     storage.save()
     self.assertsIs(len(storage.all()), len_of_dict + 1)
示例#6
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):