示例#1
0
class test_user_service(unittest.TestCase):
    def setUp(self):
        self.dbClient = MongoClient()
        self.db = self.dbClient.test_foodbeazt_database
        self.db.user_collection.drop()
        self.service = UserService(self.db)

    def get_model(self, email):
        item = {"name": "test", "username": email, "email": email, "auth_type": "google",
                "registered_ip": "10.0.0.1"}
        return item

    def test_create_user(self):
        no = str(random.randint(1, 10000))
        item = self.get_model("test" + no + "@test.com")
        id = self.service.create(item)
        assert id is not None
        return id

    def test_duplicate_user(self):
        item = self.get_model("*****@*****.**")
        self.service.create(item)
        try:
            self.service.create(item)
            assert False
        except DuplicateUserException as e:
            assert True

    def test_get_user_by_email(self):
        item = self.get_model("*****@*****.**")
        self.service.create(item)
        item = self.service.get_by_email("*****@*****.**")
        assert item is not None
        assert item["email"] == "*****@*****.**"

    def test_get_all_users(self):
        self.test_create_user()
        items = self.service.search()
        assert items is not None
        assert len(items) > 0

    def test_delete_user(self):
        id = self.test_create_user()
        self.service.delete(str(id))

    def test_update_user(self):
        id = self.test_create_user()
        item = self.test_get_by_id(str(id))
        item['name'] = "updated test name"
        item = self.service.update(item)
        assert item is not None
        assert item['name'] == 'updated test name'
        assert 'updated_at' in item

    def test_get_by_id(self, id=None):
        if not id:
            id = self.test_create_user()
        item = self.service.get_by_id(id)
        assert item is not None
        return item
示例#2
0
文件: user.py 项目: cackharot/fbeazt
class UserListApi(Resource):

    def __init__(self):
        self.log = logging.getLogger(__name__)
        self.service = UserService(mongo.db)

    def get(self):
        if not admin_permission.can():
            return "Unauthorized", 403
        try:
            lst = self.service.search(tenant_id=g.user.tenant_id)
            return lst
        except Exception as e:
            self.log.exception(e)
        return {"status": "error", "message": "Error on searching users"}, 450