def test_create_instance_with_invalid_configs(self):

        with self.subTest("with no bucket name"):
            with self.assertRaises(InvalidConfigError):
                config = TestConfig()
                config.BUCKET_NAME = ''

                AWSStorage(config)

        with self.subTest("with no key"):
            with self.assertRaises(InvalidConfigError):
                config = TestConfig()
                config.KEY = ''

                AWSStorage(config)

        with self.subTest("with no secret key"):
            with self.assertRaises(InvalidConfigError):
                config = TestConfig()
                config.SECRET_KEY = ''

                AWSStorage(config)

        with self.subTest("with None config"):
            with self.assertRaises(InvalidConfigError):
                AWSStorage(None)

        with self.subTest("with valid config"):

            config = TestConfig()

            storage = AWSStorage(config)

            from decouple import config
            BASE_DIR = os.path.join(
                os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
                '/test')

            self.assertEqual(storage.config.BUCKET_NAME, config('BUCKET_NAME'))
            self.assertEqual(storage.config.KEY, config('KEY'))
            self.assertEqual(storage.config.SECRET_KEY, config('SECRET_KEY'))