Esempio n. 1
0
 def setUp(self):
     self.mb = MountebankProcess()
     api_client = ApiClient()
     self.broker = UserBroker(api_client)
Esempio n. 2
0
 def setUp(self):
     self.mb = MountebankProcess()
     api_client = ApiClient()
     self.broker = UserBroker(api_client)
Esempio n. 3
0
class TestUserBroker(unittest.TestCase):
    def setUp(self):
        self.mb = MountebankProcess()
        api_client = ApiClient()
        self.broker = UserBroker(api_client)

    def tearDown(self):
        self.mb.destroy_all_imposters()

    def test_create_new_user_with_invalid_data(self):
        with self.assertRaises(AssertionError):
            self.broker.create_user(user_one)

    def test_create_new_user_with_valid_data(self):
        self.setup_imposter('create_new_user.json')
        user = self.broker.create_user(user_two)
        self.assertIsNotNone(user)
        self.assertEqual(user['id'], '00002')
        self.assertEqual(user['login'], user_two.get('login'))
        self.assertEqual(user['mobile_phone'], user_two.get('mobile_phone'))

    def test_create_user_with_differing_login_email(self):
        self.setup_imposter('create_new_user.json')
        user = self.broker.create_user(user_seven)
        self.assertIsNotNone(user)
        self.assertEqual(user['id'], '00002')
        self.assertEqual(user_seven['login'], user['login'])
        self.assertEqual(user_seven['email'], user['email'])

    def test_update_existing_user_with_id(self):
        self.setup_imposter('update_existing_user.json')
        user = self.broker.update_user_phone_number(user_three['id'], user_three['mobile_phone'])
        self.assertIsNotNone(user)
        self.assertEqual(user['id'], user_three.get('id'))
        self.assertEqual(user['login'], user_three.get('login'))
        self.assertEqual(user['mobile_phone'], user_three.get('mobile_phone'))

    def test_update_existing_user_without_id_or_phone(self):
        with self.assertRaises(AssertionError):
            self.broker.update_user_phone_number(user_two['id'], user_two['mobile_phone'])
        with self.assertRaises(AssertionError):
            self.broker.update_user_phone_number(user_three['id'], None)

    def test_get_user_method(self):
        self.setup_imposter('update_existing_user.json')
        user = self.broker.get_user(user_four.get('login'))
        self.assertEqual(user['login'], user_four.get('login'))

        self.assertIn('factors', user)
        self.assertEqual(len(user['factors']), 1)
        self.assertEqual(user['factors'][0]['phone_number'], user_four['mobile_phone'])

    def test_get_user_fail(self):
        self.setup_imposter('update_existing_user.json')
        self.assertIsNone(self.broker.get_user(user_five.get('login')))

    def test_get_user_factors_fail(self):
        self.setup_imposter('update_existing_user.json')
        self.assertIsNone(self.broker.get_user(user_six.get('login')))

    def test_get_user_id_method(self):
        self.setup_imposter('update_existing_user.json')
        user_id = self.broker.get_user_id(user_four.get('login'))
        self.assertEqual(user_id, '00003')

    def setup_imposter(self, file_name):
        file_path = 'test_user_broker/stubs/' + file_name
        imposter = self.mb.create_imposter(file_path)
        self.broker._api_client = ApiClient(BASE_URL=self.mb.get_imposter_url(imposter), API_TOKEN='1')
Esempio n. 4
0
class TestUserBroker(unittest.TestCase):
    def setUp(self):
        self.mb = MountebankProcess()
        api_client = ApiClient()
        self.broker = UserBroker(api_client)

    def tearDown(self):
        self.mb.destroy_all_imposters()

    def test_create_new_user_with_invalid_data(self):
        with self.assertRaises(AssertionError):
            self.broker.create_user(user_one)

    def test_create_new_user_with_valid_data(self):
        self.setup_imposter('create_new_user.json')
        user = self.broker.create_user(user_two)
        self.assertIsNotNone(user)
        self.assertEqual(user['id'], '00002')
        self.assertEqual(user['login'], user_two.get('login'))
        self.assertEqual(user['mobile_phone'], user_two.get('mobile_phone'))

    def test_create_user_with_differing_login_email(self):
        self.setup_imposter('create_new_user.json')
        user = self.broker.create_user(user_seven)
        self.assertIsNotNone(user)
        self.assertEqual(user['id'], '00002')
        self.assertEqual(user_seven['login'], user['login'])
        self.assertEqual(user_seven['email'], user['email'])

    def test_update_existing_user_with_id(self):
        self.setup_imposter('update_existing_user.json')
        user = self.broker.update_user_phone_number(user_three['id'],
                                                    user_three['mobile_phone'])
        self.assertIsNotNone(user)
        self.assertEqual(user['id'], user_three.get('id'))
        self.assertEqual(user['login'], user_three.get('login'))
        self.assertEqual(user['mobile_phone'], user_three.get('mobile_phone'))

    def test_update_existing_user_without_id_or_phone(self):
        with self.assertRaises(AssertionError):
            self.broker.update_user_phone_number(user_two['id'],
                                                 user_two['mobile_phone'])
        with self.assertRaises(AssertionError):
            self.broker.update_user_phone_number(user_three['id'], None)

    def test_get_user_method(self):
        self.setup_imposter('update_existing_user.json')
        user = self.broker.get_user(user_four.get('login'))
        self.assertEqual(user['login'], user_four.get('login'))

        self.assertIn('factors', user)
        self.assertEqual(len(user['factors']), 1)
        self.assertEqual(user['factors'][0]['phone_number'],
                         user_four['mobile_phone'])

    def test_get_user_fail(self):
        self.setup_imposter('update_existing_user.json')
        self.assertIsNone(self.broker.get_user(user_five.get('login')))

    def test_get_user_factors_fail(self):
        self.setup_imposter('update_existing_user.json')
        self.assertIsNone(self.broker.get_user(user_six.get('login')))

    def test_get_user_id_method(self):
        self.setup_imposter('update_existing_user.json')
        user_id = self.broker.get_user_id(user_four.get('login'))
        self.assertEqual(user_id, '00003')

    def setup_imposter(self, file_name):
        file_path = 'test_user_broker/stubs/' + file_name
        imposter = self.mb.create_imposter(file_path)
        self.broker._api_client = ApiClient(
            BASE_URL=self.mb.get_imposter_url(imposter), API_TOKEN='1')