def test_valid_client_id_and_client_secret(self): """ given valid client id and secret values verify that we can use the toke manager to access account details """ username, password = get_test_user_pass() app_url = get_test_app_url() # # you would provide a client_id and client_secret by retrieve them # from your jut profile but for unit testing we have to use the # token manager to retrieve such # token_manager = auth.TokenManager(username=username, password=password, app_url=app_url) authorization = authorizations.get_authorization(token_manager, app_url=app_url) client_id = authorization['client_id'] client_secret = authorization['client_secret'] token_manager = auth.TokenManager(client_id=client_id, client_secret=client_secret, app_url=app_url) # use the token manager to retrieve the logged in user details account = accounts.get_logged_in_account(token_manager=token_manager, app_url=app_url) self.assertEquals(account['username'], username)
def test_user_exists(self): """ verify we can correctly create and delete a new account """ username, password = get_test_user_pass() app_url = get_test_app_url() token_manager = auth.TokenManager(username=username, password=password, app_url=app_url) if not accounts.user_exists(username, token_manager=token_manager, app_url=app_url): raise Exception('User exists API failed for "%s"' % username)
def test_valid_username_password(self): """ given valid username and password obtain auth tokens and use them to get the details about the current account """ username, password = get_test_user_pass() app_url = get_test_app_url() token_manager = auth.TokenManager(username=username, password=password, app_url=app_url) # use the token manager to retrieve the logged in user details account = accounts.get_logged_in_account(token_manager=token_manager, app_url=app_url) self.assertEquals(account['username'], username)
def test_delete_inexistent_account(self): """ deleting an inexistent account reports the expected failure """ username, password = get_test_user_pass() app_url = get_test_app_url() token_manager = auth.TokenManager(username=username, password=password, app_url=app_url) try: accounts.delete_user('blah', token_manager=token_manager, app_url=app_url) except JutException as exception: self.assertIn('Account not found', exception.message)
def test_invalid_username_password(self): """ given invalid username and password combination verify that the correct exception is thrown when attempting to use that token manager """ username, _ = get_test_user_pass() app_url = get_test_app_url() token_manager = auth.TokenManager(username=username, password='******', app_url=app_url) try: # use the token manager to retrieve the logged in user details accounts.get_logged_in_account(token_manager=token_manager, app_url=app_url) raise Exception('Should have failed to authenticate above') except JutException as exception: self.assertIn('Failed authentication with (%s,WRONG PASSWORd)' % username, exception.message)
def test_create_and_delete_account(self): """ verify we can correctly create and delete a new account """ username, password = get_test_user_pass() app_url = get_test_app_url() token_manager = auth.TokenManager(username=username, password=password, app_url=app_url) if accounts.user_exists('jut-tools-user03', token_manager=token_manager, app_url=app_url): user03_token_manager = auth.TokenManager(username='******', password='******', app_url=app_url) accounts.delete_user('jut-tools-user03', token_manager=user03_token_manager, app_url=app_url) account = accounts.create_user('Jut Tools User #3', 'jut-tools-user03', '*****@*****.**', 'bigdata', token_manager=token_manager, app_url=app_url) self.assertIn('id', account) user03_token_manager = auth.TokenManager(username='******', password='******', app_url=app_url) accounts.delete_user('jut-tools-user03', token_manager=user03_token_manager, app_url=app_url)
def test_create_existing_account(self): """ verify we get an appropriate error when creating an account with an already used username """ username, password = get_test_user_pass() app_url = get_test_app_url() token_manager = auth.TokenManager(username=username, password=password, app_url=app_url) try: accounts.create_user('Jut Tools User Never', username, '*****@*****.**', 'bigdata', token_manager=token_manager, app_url=app_url) except JutException as exception: self.assertIn('username in use', exception.message)