Beispiel #1
0
    def test_connect_with_pkey(self, mock_serialization):
        mock_snowflake = Mock(name='mock_snowflake')
        mock_connector = mock_snowflake.connector
        mock_pkey = mock_serialization.load_pem_private_key.return_value = Mock(name='pkey')

        # need to patch this here so it can be imported in the function scope
        with patch.dict('sys.modules', snowflake=mock_snowflake):
            mock_connector.connect.return_value = 'OK'

            snowflake = SnowflakeDatabase(user='******',
                                          private_key_data='abcdefg',
                                          private_key_password='******',
                                          account='test_account',
                                          database='test_database')
            result = snowflake.connect()

        with self.subTest('returns connection'):
            self.assertEqual('OK', result)

        with self.subTest('connects with credentials'):
            mock_serialization.load_pem_private_key.assert_called_once_with(b'abcdefg',
                                                                            b'1234',
                                                                            backend=ANY)

        with self.subTest('connects with credentials'):
            mock_connector.connect.assert_called_once_with(user='******',
                                                           password=None,
                                                           account='test_account',
                                                           database='test_database',
                                                           private_key=mock_pkey.private_bytes.return_value,
                                                           region=None,
                                                           warehouse=None)
Beispiel #2
0
    def test_connect_with_pkey(self, mock_serialization):
        mock_snowflake = Mock(name='mock_snowflake')
        mock_connector = mock_snowflake.connector
        mock_pkey = mock_serialization.load_pem_private_key.return_value = Mock(
            name='pkey')

        # need to patch this here so it can be imported in the function scope
        with patch.dict('sys.modules', snowflake=mock_snowflake):
            mock_connector.connect.return_value = 'OK'

            snowflake = SnowflakeDatabase(user='******',
                                          private_key_data='abcdefg',
                                          private_key_password='******',
                                          account='test_account',
                                          database='test_database')
            result = snowflake.connect()

        with self.subTest('returns connection'):
            self.assertEqual('OK', result)

        with self.subTest('connects with credentials'):
            mock_serialization.load_pem_private_key.assert_called_once_with(
                b'abcdefg', b'1234', backend=ANY)

        with self.subTest('connects with credentials'):
            mock_connector.connect.assert_called_once_with(
                user='******',
                password=None,
                account='test_account',
                database='test_database',
                private_key=mock_pkey.private_bytes.return_value,
                region=None,
                warehouse=None)
Beispiel #3
0
    def test_connect_with_password(self):
        mock_snowflake = Mock(name='mock_snowflake')
        mock_connector = mock_snowflake.connector

        # need to patch this here so it can be imported in the function scope
        with patch.dict('sys.modules', snowflake=mock_snowflake):
            mock_connector.connect.return_value = 'OK'

            snowflake = SnowflakeDatabase(user='******',
                                          password='******',
                                          account='test_account',
                                          database='test_database')
            result = snowflake.connect()

        self.assertEqual('OK', result)
        mock_connector.connect.assert_called_once_with(user='******',
                                                       password='******',
                                                       account='test_account',
                                                       database='test_database',
                                                       private_key=None,
                                                       region=None,
                                                       warehouse=None)
Beispiel #4
0
    def test_connect_with_password(self):
        mock_snowflake = Mock(name='mock_snowflake')
        mock_connector = mock_snowflake.connector

        # need to patch this here so it can be imported in the function scope
        with patch.dict('sys.modules', snowflake=mock_snowflake):
            mock_connector.connect.return_value = 'OK'

            snowflake = SnowflakeDatabase(user='******',
                                          password='******',
                                          account='test_account',
                                          database='test_database')
            result = snowflake.connect()

        self.assertEqual('OK', result)
        mock_connector.connect.assert_called_once_with(user='******',
                                                       password='******',
                                                       account='test_account',
                                                       database='test_database',
                                                       private_key=None,
                                                       region=None,
                                                       warehouse=None)