class BigMLAPIMixInTest(unittest.TestCase):

    def setUp(self):
        self.bigml = BigMLAPIMixIn()

    @mock.patch.object(BigML, 'list_projects')
    def test_get_bigml_api_check_bigml_auth(self, mock_bigml_lp):
        # Uncomplete credentials
        with self.assertRaises(NotConfigured):
            self.bigml.get_bigml_api(username='******')
        with self.assertRaises(NotConfigured):
            self.bigml.get_bigml_api(api_key='api_key_only')
        # Wrong credentials
        mock_bigml_lp.return_value = {'code': 402}
        with self.assertRaises(NotConfigured):
            self.bigml.get_bigml_api(username='******', api_key='bad_key')
        # Correct credentials
        mock_bigml_lp.return_value = {'code': 200}
        self.bigml.get_bigml_api(username='******', api_key='good_key')
 def setUp(self):
     self.bigml = BigMLAPIMixIn()