コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
    def test_invalid_client_id_and_client_secret(self):
        """
        given invalid client id and secret combination verify that the correct
        exception is thrown when attempting to use that token manager
        """
        app_url = get_test_app_url()
        token_manager = auth.TokenManager(client_id='invalid',
                                          client_secret='invalid',
                                          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)

        except JutException as exception:
            self.assertIn('Unable to get auth token 401',
                          exception.message)
コード例 #5
0
    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)
コード例 #6
0
    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)
コード例 #7
0
    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)
コード例 #8
0
    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)