def test_delete_token(self): """Assert a user can delete an API token.""" session = Session() token = models.ApiToken(user=self.user, description='Test token') session.add(token) session.commit() with login_user(self.flask_app, self.user): with self.flask_app.test_client() as c: output = c.get('/settings/', follow_redirects=False) self.assertEqual(output.status_code, 200) self.assertTrue(b'Test token' in output.data) csrf_token = output.data.split( b'name="csrf_token" type="hidden" value="')[1].split( b'">')[0] data = {'csrf_token': csrf_token} output = c.post('/settings/tokens/delete/{}/'.format( token.token), data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertFalse(b'Test token' in output.data) self.assertEqual( 0, models.ApiToken.query.filter_by(user=self.user).count())
def setUp(self): super(ProjectsResourceGetTests, self).setUp() self.app = self.flask_app.test_client() session = Session() self.user = models.User(email='*****@*****.**', username='******') self.api_token = models.ApiToken(user=self.user) session.add_all([self.user, self.api_token]) session.commit()
def test_user_relationship(self): """Assert users have a reference to their tokens.""" session = Session() user = models.User(email='*****@*****.**', username='******') token = models.ApiToken(user=user) session.add(token) session.commit() self.assertEqual(user.api_tokens, [token])
def test_token_default(self): """Assert creating an ApiToken generates a random token.""" session = Session() user = models.User(email='*****@*****.**', username='******') token = models.ApiToken(user=user) session.add(token) session.commit() self.assertEqual(40, len(token.token))
def new_token(): """Create a new API token for the current user.""" form = anitya.forms.TokenForm() if form.validate_on_submit(): token = models.ApiToken(user=flask.g.user, description=form.description.data) Session.add(token) Session.commit() return flask.redirect(flask.url_for("anitya_ui.settings")) else: flask.abort(400)
def setUp(self): super(PackagesResourceGetTests, self).setUp() self.app = self.flask_app.test_client() session = Session() self.user = models.User(email='*****@*****.**', username='******') self.api_token = models.ApiToken(user=self.user) fedora = models.Distro('Fedora') debian = models.Distro('Debian') jcline_linux = models.Distro('jcline linux') session.add_all( [self.user, self.api_token, fedora, debian, jcline_linux]) session.commit()
def test_user_relationship(self): """Assert users have a reference to their tokens.""" user = models.User(email="*****@*****.**", username="******") user_social_auth = social_models.UserSocialAuth(user_id=user.id, user=user) self.session.add(user) self.session.add(user_social_auth) token = models.ApiToken(user=user) self.session.add(token) self.session.commit() self.assertEqual(user.api_tokens, [token])
def test_token_default(self): """Assert creating an ApiToken generates a random token.""" user = models.User(email="*****@*****.**", username="******") user_social_auth = social_models.UserSocialAuth(user_id=user.id, user=user) self.session.add(user) self.session.add(user_social_auth) token = models.ApiToken(user=user) self.session.add(token) self.session.commit() self.assertEqual(40, len(token.token))
def setUp(self): super(ProjectsResourceGetTests, self).setUp() self.app = self.flask_app.test_client() session = Session() self.user = models.User(email="*****@*****.**", username="******") user_social_auth = social_models.UserSocialAuth(user_id=self.user.id, user=self.user) session.add(self.user) session.add(user_social_auth) self.api_token = models.ApiToken(user=self.user) session.add(self.api_token) session.commit()
def setUp(self): super(PackagesResourcePostTests, self).setUp() self.app = self.flask_app.test_client() session = Session() self.user = models.User(email='*****@*****.**', username='******') self.api_token = models.ApiToken(user=self.user) self.project = models.Project( name='requests', homepage='https://pypi.io/project/requests', backend='PyPI', ) self.fedora = models.Distro('Fedora') session.add_all([self.user, self.api_token, self.project, self.fedora]) session.commit() self.auth = {'Authorization': 'Token ' + self.api_token.token}
def setUp(self): super(PackagesResourceGetTests, self).setUp() self.app = self.flask_app.test_client() session = Session() self.user = models.User(email="*****@*****.**", username="******") user_social_auth = social_models.UserSocialAuth(user_id=self.user.id, user=self.user) session.add(self.user) session.add(user_social_auth) self.api_token = models.ApiToken(user=self.user) fedora = models.Distro("Fedora") debian = models.Distro("Debian") jcline_linux = models.Distro("jcline linux") session.add_all([self.api_token, fedora, debian, jcline_linux]) session.commit()
def setUp(self): super(ProjectsResourcePostTests, self).setUp() self.app = self.flask_app.test_client() session = Session() self.user = models.User( email='*****@*****.**', username='******', ) user_social_auth = social_models.UserSocialAuth(user_id=self.user.id, user=self.user) session.add(self.user) session.add(user_social_auth) self.api_token = models.ApiToken(user=self.user) session.add(self.api_token) session.commit() self.auth = {'Authorization': 'Token ' + self.api_token.token}
def test_delete_token_invalid_csrf(self): """Assert trying to delete a token without a CSRF token fails.""" session = Session() token = models.ApiToken(user=self.user, description='Test token') session.add(token) session.commit() with login_user(self.flask_app, self.user): with self.flask_app.test_client() as c: data = {'csrf_token': 'not a valid token'} output = c.post('/settings/tokens/delete/{}/'.format( token.token), data=data, follow_redirects=True) self.assertEqual(output.status_code, 400) self.assertEqual( 1, models.ApiToken.query.filter_by(user=self.user).count())
def setUp(self): super(PackagesResourcePostTests, self).setUp() self.app = self.flask_app.test_client() session = Session() self.user = models.User(email="*****@*****.**", username="******") user_social_auth = social_models.UserSocialAuth(user_id=self.user.id, user=self.user) session.add(self.user) session.add(user_social_auth) self.api_token = models.ApiToken(user=self.user) self.project = models.Project( name="requests", homepage="https://pypi.io/project/requests", backend="PyPI") self.fedora = models.Distro("Fedora") session.add_all([self.api_token, self.project, self.fedora]) session.commit() self.auth = {"Authorization": "Token " + self.api_token.token}