def test_load(self):
        token = Token.generate(self.user.api_key)
        self.assertIsInstance(token, Token)
        self.assertIsNone(token.user)

        ##### Before approving
        # Load with token
        token1 = Token.load(token.token)
        self.assertIsNone(token1.user)
        self.assertDictEqual(token1.__dict__, token.__dict__)

        # Load with token & api_key
        token2 = Token.load(token.token, token.api_key)
        self.assertIsNone(token2.user)
        self.assertDictEqual(token2.__dict__, token.__dict__)

        token.approve(self.user.name)

        ##### After approving the token
        # Load with token
        token1 = Token.load(token.token)
        self.assertIsInstance(token1.user, User)
        self.assertDictEqual(token1.user.__dict__, token.user.__dict__)
        token_user = token.user
        token.user, token1.user = None, None
        self.assertDictEqual(token1.__dict__, token.__dict__)
        token.user = token_user

        # Load with token & api_key
        token2 = Token.load(token.token, token.api_key)
        self.assertIsInstance(token2.user, User)
        self.assertDictEqual(token2.user.__dict__, token.user.__dict__)
        token.user, token1.user = None, None
        self.assertDictEqual(token1.__dict__, token.__dict__)
 def test_session_create(self):
     user = User.load_by_id(db.user.create("test"))
     token = Token.generate(user.api_key)
     token.approve(user.name)
     session = Session.create(token)
     self.assertIsInstance(session, Session)
     self.assertDictEqual(user.__dict__, session.user.__dict__)
 def test_session_create(self):
     user = User.load_by_id(db.user.create("test"))
     token = Token.generate(user.api_key)
     token.approve(user.name)
     session = Session.create(token)
     self.assertIsInstance(session, Session)
     self.assertDictEqual(user.__dict__, session.user.__dict__)
    def test_load(self):
        token = Token.generate(self.user.api_key)
        self.assertIsInstance(token, Token)
        self.assertIsNone(token.user)

        ##### Before approving
        # Load with token
        token1 = Token.load(token.token)
        self.assertIsNone(token1.user)
        self.assertDictEqual(token1.__dict__, token.__dict__)

        # Load with token & api_key
        token2 = Token.load(token.token, token.api_key)
        self.assertIsNone(token2.user)
        self.assertDictEqual(token2.__dict__, token.__dict__)

        token.approve(self.user.name)

        ##### After approving the token
        # Load with token
        token1 = Token.load(token.token)
        self.assertIsInstance(token1.user, User)
        self.assertDictEqual(token1.user.__dict__, token.user.__dict__)
        token_user = token.user
        token.user, token1.user = None, None
        self.assertDictEqual(token1.__dict__, token.__dict__)
        token.user = token_user

        # Load with token & api_key
        token2 = Token.load(token.token, token.api_key)
        self.assertIsInstance(token2.user, User)
        self.assertDictEqual(token2.user.__dict__, token.user.__dict__)
        token.user, token1.user = None, None
        self.assertDictEqual(token1.__dict__, token.__dict__)
 def test_has_expired(self):
     token = Token.generate(str(uuid.uuid4()))
     self.assertFalse(token.has_expired())
     token.timestamp = token.timestamp - timedelta(minutes=TOKEN_EXPIRATION_TIME - 1)
     # This is asssertFalse because in the next 1 minute the next statement will get executed
     self.assertFalse(token.has_expired())
     token.timestamp = token.timestamp - timedelta(minutes=1)
     self.assertTrue(token.has_expired())
 def test_has_expired(self):
     token = Token.generate(str(uuid.uuid4()))
     self.assertFalse(token.has_expired())
     token.timestamp = token.timestamp - timedelta(minutes=TOKEN_EXPIRATION_TIME - 1)
     # This is asssertFalse because in the next 1 minute the next statement will get executed
     self.assertFalse(token.has_expired())
     token.timestamp = token.timestamp - timedelta(minutes=1)
     self.assertTrue(token.has_expired())
    def test_session_load(self):
        user = User.load_by_id(db.user.create("test"))
        token = Token.generate(user.api_key)
        token.approve(user.name)
        session = Session.create(token)
        self.assertIsInstance(session, Session)
        self.assertDictEqual(user.__dict__, session.user.__dict__)
        session.user = None

        # Load with session_key + api_key
        session2 = Session.load(session.sid, session.api_key)
        self.assertDictEqual(user.__dict__, session2.__dict__['user'].__dict__)
        session2.user = None
        self.assertDictEqual(session.__dict__, session2.__dict__)
    def test_session_load(self):
        user = User.load_by_id(db.user.create("test"))
        token = Token.generate(user.api_key)
        token.approve(user.name)
        session = Session.create(token)
        self.assertIsInstance(session, Session)
        self.assertDictEqual(user.__dict__, session.user.__dict__)
        session.user = None

        # Load with session_key + api_key
        session2 = Session.load(session.sid, session.api_key)
        self.assertDictEqual(user.__dict__, session2.__dict__['user'].__dict__)
        session2.user = None
        self.assertDictEqual(session.__dict__, session2.__dict__)
    def test_approve(self):
        token = Token.generate(str(uuid.uuid4()))
        self.assertIsInstance(token, Token)
        self.assertIsNone(token.user)
        before_token = token.__dict__
        before_token.pop('user')

        token.approve(self.user.name)

        after_token = token.__dict__
        self.assertIsInstance(token.user, User)
        self.assertDictEqual(token.user.__dict__, self.user.__dict__)
        after_token.pop('user')

        self.assertDictEqual(after_token, before_token)
    def test_approve(self):
        token = Token.generate(str(uuid.uuid4()))
        self.assertIsInstance(token, Token)
        self.assertIsNone(token.user)
        before_token = token.__dict__
        before_token.pop('user')

        token.approve(self.user.name)

        after_token = token.__dict__
        self.assertIsInstance(token.user, User)
        self.assertDictEqual(token.user.__dict__, self.user.__dict__)
        after_token.pop('user')

        self.assertDictEqual(after_token, before_token)
Exemplo n.º 11
0
def get_token(request, data):
    """ Issue a token to user after verying his API_KEY
    """
    output_format = data.get('format', 'xml')
    api_key = data.get('api_key')

    if not api_key:
        raise InvalidAPIUsage(6, output_format=output_format)   # Missing required params
    if not Token.is_valid_api_key(api_key):
        raise InvalidAPIUsage(10, output_format=output_format)   # Invalid API_KEY

    token = Token.generate(api_key)

    doc, tag, text = Doc().tagtext()
    with tag('lfm', status='ok'):
        with tag('token'):
            text(token.token)
    return format_response('<?xml version="1.0" encoding="utf-8"?>\n' + yattag.indent(doc.getvalue()),
                           output_format)
Exemplo n.º 12
0
def get_token(request, data):
    """ Issue a token to user after verying his API_KEY
    """
    output_format = data.get('format', 'xml')
    api_key = data.get('api_key')

    if not api_key:
        raise InvalidAPIUsage(
            CompatError.INVALID_PARAMETERS,
            output_format=output_format)  # Missing required params
    if not Token.is_valid_api_key(api_key):
        raise InvalidAPIUsage(CompatError.INVALID_API_KEY,
                              output_format=output_format)  # Invalid API_KEY

    token = Token.generate(api_key)

    doc, tag, text = Doc().tagtext()
    with tag('lfm', status='ok'):
        with tag('token'):
            text(token.token)
    return format_response(
        '<?xml version="1.0" encoding="utf-8"?>\n' +
        yattag.indent(doc.getvalue()), output_format)
 def test_generate(self):
     token = Token.generate(str(uuid.uuid4()))
     self.assertIsInstance(token, Token)
 def test_generate(self):
     token = Token.generate(str(uuid.uuid4()))
     self.assertIsInstance(token, Token)