Skip to content
This repository has been archived by the owner on Apr 28, 2020. It is now read-only.

Commit

Permalink
Re-add original unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Sindhu S committed Jun 1, 2016
1 parent 6bf5c49 commit 2da9b74
Show file tree
Hide file tree
Showing 5 changed files with 203 additions and 0 deletions.
34 changes: 34 additions & 0 deletions tests/fixtures.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-

from lastuserapp import db
from lastuser_core.models import *


def make_fixtures():
user1 = User(username=u"user1", fullname=u"User 1")
user2 = User(username=u"user2", fullname=u"User 2")
db.session.add_all([user1, user2])

email1 = UserEmail(email=u"[email protected]", user=user1)
phone1 = UserPhone(phone=u"1234567890", user=user1)
email2 = UserEmail(email=u"[email protected]", user=user2)
phone2 = UserPhone(phone=u"1234567891", user=user2)
db.session.add_all([email1, phone1, email2, phone2])

org = Organization(name=u"org", title=u"Organization")
org.owners.users.append(user1)
db.session.add(org)

client = Client(title=u"Test Application", org=org, user=user1, website=u"http://example.com")
db.session.add(client)

resource = Resource(name=u"test_resource", title=u"Test Resource", client=client)
db.session.add(resource)

action = ResourceAction(name=u"read", title=u"Read", resource=resource)
db.session.add(action)

message = SMSMessage(phone_number=phone1.phone, transaction_id=u"1" * 40, message=u"Test message")
db.session.add(message)

db.session.commit()
20 changes: 20 additions & 0 deletions tests/test_db.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-

import unittest
from lastuserapp import app, db, init_for
from .fixtures import make_fixtures


class TestDatabaseFixture(unittest.TestCase):
def setUp(self):
init_for('testing')
app.config['TESTING'] = True
db.app = app
db.create_all()
self.db = db
make_fixtures()

def tearDown(self):
db.session.rollback()
db.drop_all()
db.session.remove()
102 changes: 102 additions & 0 deletions tests/test_model_client.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# -*- coding: utf-8 -*-

from lastuserapp import db
import lastuser_core.models as models
from .test_db import TestDatabaseFixture


class TestClient(TestDatabaseFixture):
def setUp(self):
super(TestClient, self).setUp()
self.user = models.User.query.filter_by(username=u"user1").first()


class TestUserClientPermissions(TestDatabaseFixture):
def setUp(self):
super(TestUserClientPermissions, self).setUp()
self.user = models.User.query.filter_by(username=u"user1").first()
self.create_fixtures()

def create_fixtures(self):
# Add permission to the client
client = models.Client.query.filter_by(user=self.user).first()
self.permission = models.UserClientPermissions(user=self.user, client=client)
self.permission.permissions = u"admin"
db.session.add(self.permission)
db.session.commit()


class TestTeamClientPermissions(TestDatabaseFixture):
def setUp(self):
super(TestTeamClientPermissions, self).setUp()
self.user = models.User.query.filter_by(username=u"user1").first()
self.client = models.Client.query.filter_by(user=self.user).first()
self.create_fixtures()

def create_fixtures(self):
self.org = models.Organization(title=u"test", name=u"Test")
self.org.owners.users.append(self.user)
db.session.add(self.org)
self.team = models.Team(userid=self.user.userid, title=u"developers", org=self.org)
db.session.add(self.team)
self.team_client_permission = models.TeamClientPermissions(team=self.team, client=self.client, access_permissions=u"admin")
db.session.add(self.team_client_permission)
db.session.commit()


class TestResource(TestDatabaseFixture):
def setUp(self):
super(TestResource, self).setUp()
self.user = models.User.query.filter_by(username=u"user1").first()
self.client = models.Client.query.filter_by(user=self.user).first()
self.create_fixtures()

def create_fixtures(self):
resource = models.Resource(name=u"resource", title=u"Resource", client=self.client)
db.session.add(resource)
db.session.commit()

def test_find_all(self):
resources = self.client.resources
self.assertEqual(len(resources), 2)
self.assertEqual(set([r.name for r in resources]), set([u'test_resource', u'resource']))


class TestClientTeamAccess(TestDatabaseFixture):
def setUp(self):
super(TestClientTeamAccess, self).setUp()
self.user = models.User.query.filter_by(username=u"user1").first()
self.client = models.Client.query.filter_by(user=self.user).first()
self.client.team_access = True
db.session.commit()
self.create_fixtures()

def create_fixtures(self):
self.org = models.Organization(title=u"test", name=u"Test")
self.org.owners.users.append(self.user)
db.session.add(self.org)
self.team = models.Team(userid=self.user.userid, title=u"developers", org=self.org)
db.session.add(self.team)
self.team_client_permission = models.TeamClientPermissions(team=self.team, client=self.client, access_permissions=u"admin")
db.session.add(self.team_client_permission)
self.client_team_access = models.ClientTeamAccess(org=self.org, client=self.client, access_level=models.CLIENT_TEAM_ACCESS.ALL)
db.session.add(self.client_team_access)
db.session.commit()

def test_find_all(self):
self.assertIs(self.client.org_team_access[0], self.client_team_access)


class TestPermission(TestDatabaseFixture):
def setUp(self):
super(TestPermission, self).setUp()
self.user = models.User.query.filter_by(username=u"user1").first()
self.create_fixtures()

def create_fixtures(self):
self.org = models.Organization(title=u"test", name=u"Test")
self.org.owners.users.append(self.user)
db.session.add(self.org)
self.permission = models.Permission(user=self.user, org=self.org, name=u"admin", title=u"admin", allusers=True)
db.session.add(self.permission)
db.session.commit()
9 changes: 9 additions & 0 deletions tests/test_model_notice.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# -*- coding: utf-8 -*-

import lastuser_core.models as models
from .test_db import TestDatabaseFixture


class TestSMS(TestDatabaseFixture):
def setUp(self):
super(TestSMS, self).setUp()
38 changes: 38 additions & 0 deletions tests/test_model_user.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-

from lastuserapp import db
import lastuser_core.models as models
from .test_db import TestDatabaseFixture


class TestTeam(TestDatabaseFixture):
def setUp(self):
super(TestTeam, self).setUp()
self.user = models.User.query.filter_by(username=u"user1").first()
self.create_fixtures()

def create_fixtures(self):
self.org = models.Organization(title=u"title", name=u"Test")
self.org.owners.users.append(self.user)
db.session.add(self.org)
self.team = models.Team(userid=self.user.userid, title=u"developers", org=self.org)
db.session.add(self.team)
db.session.commit()


class TestOrganization(TestDatabaseFixture):
def setUp(self):
super(TestOrganization, self).setUp()
self.user = models.User.query.filter_by(username=u"user1").first()
self.client = models.Client.query.filter_by(user=self.user).first()
self.create_fixtures()

def create_fixtures(self):
self.org = models.Organization(title=u"test", name=u"Test")
self.org.owners.users.append(self.user)
self.org1 = models.Organization(title=u"test1", name=u"Test1")
self.org1.owners.users.append(self.user)
self.client_team_access = models.ClientTeamAccess(org=self.org, client=self.client, access_level=models.CLIENT_TEAM_ACCESS.ALL)
self.client_team_access1 = models.ClientTeamAccess(org=self.org1, client=self.client, access_level=models.CLIENT_TEAM_ACCESS.ALL)
db.session.add_all([self.org, self.org1, self.client_team_access, self.client_team_access1])
db.session.commit()

0 comments on commit 2da9b74

Please sign in to comment.