def register_user(self):
     u = baas.User(self.service)
     u.username = "******"
     u.email = "*****@*****.**"
     u.password = "******"
     u.options = {"realname": "Foo Bar"}
     res = u.register()
     return u, res
Beispiel #2
0
 def test_init(self):
     """正常に初期化できること"""
     s = self.get_service()
     u = baas.User(s)
     assert u.service == s
     assert u.username is None
     assert u.email is None
     assert u.password is None
     assert u.options is None
Beispiel #3
0
 def register_users(self, count):
     user_ids = []
     for i in range(count):
         u = baas.User(self.masterService)
         u.username = "******" + str(i)
         u.email = u.username + "@example.com"
         u.password = "******"
         res = u.register()
         user_ids.append(res["_id"])
     return user_ids
    def test_update_etag_mismatch(self):
        """
        ユーザ更新テスト(update): Etag不正の場合はエラーとなること
        """
        _, reg_user = self.register_user()

        u = baas.User(self.masterService)
        with pytest.raises(HTTPError) as ei:
            u.update(reg_user["_id"], "etag")
        e = ei.value
        assert e.response.status_code == 409
Beispiel #5
0
def setup_user(service):
    remove_all_users()

    # Register user
    user = baas.User(service)
    user.username = "******"
    user.email = "*****@*****.**"
    user.password = "******"
    user.register()

    # Login
    baas.User.login(service, username=user.username, password=user.password)
    return user
Beispiel #6
0
    def test_update_etag(self):
        """正常に更新できること(etagあり)"""
        mock_service = MagicMock()
        u = baas.User(mock_service)

        u.update("user01", "testEtag")

        args = mock_service.execute_rest.call_args
        assert args[0], ("PUT" == "/users/user01")
        query = args[1]["query"]
        assert query["etag"] == "testEtag"
        json = args[1]["json"]
        assert len(json) == 0
    def test_update(self, etag):
        """
        ユーザ更新テスト(update)
        """
        _, reg_user = self.register_user()

        u = baas.User(self.masterService)
        u.username = "******"
        u.email = "*****@*****.**"
        u.password = "******"
        u.options = {"realname": "Foo Bar 2"}
        res = u.update(reg_user["_id"],
                       etag if etag is None else reg_user["etag"])
        assert res["username"] == "user2"
        print(res)
Beispiel #8
0
    def test_register(self):
        """正常に登録できること"""
        mock_service = MagicMock()
        u = baas.User(mock_service)
        u.username = "******"
        u.email = "*****@*****.**"
        u.password = "******"
        u.options = {"realname": "Foo Bar"}

        u.register()

        args = mock_service.execute_rest.call_args
        assert args[0], ("POST" == "/users")
        json = args[1]["json"]
        assert json["username"] == "user1"
        assert json["email"] == "*****@*****.**"
        assert json["password"] == "pass"
        assert json["options"] == {"realname": "Foo Bar"}
Beispiel #9
0
    def _setup(self, key, num):
        master_service = util.create_service(master=True, key=key)

        util.remove_all_users(key)
        user = baas.User(master_service)
        user.username = "******" + str(num)
        user.email = "user" + str(num) + "@example.com"
        user.password = "******" + str(num)
        user.register()

        buckets = baas.Buckets(master_service, "object")

        bucket_name = "bucket" + str(num)
        try:
            buckets.remove(bucket_name)
        except HTTPError:
            pass

        buckets.upsert(bucket_name, content_acl={"r": ["g:authenticated"], "w": ["g:authenticated"]})
    def test_register(self):
        """
        ユーザ登録テスト(register)
        - 正常登録できること
        - ユーザ重複時に 409 エラーになること
        """
        u = baas.User(self.service)
        u.username = "******"
        u.email = "*****@*****.**"
        u.password = "******"
        u.options = {"realname": "Foo Bar"}

        res = u.register()
        print(res)

        with pytest.raises(HTTPError) as ei:
            u.register()
        e = ei.value
        s = e.response.status_code
        assert s == 409
Beispiel #11
0
    def test_update(self):
        """正常に更新できること(etagなし)"""
        mock_service = MagicMock()
        u = baas.User(mock_service)
        u.username = "******"
        u.email = "*****@*****.**"
        u.password = "******"
        u.options = {"realname": "Foo Bar 2"}

        user_id = "userId"
        u.update(user_id)

        args = mock_service.execute_rest.call_args
        assert args[0], ("PUT" == "/users/" + user_id)
        query = args[1]["query"]
        assert len(query) == 0
        json = args[1]["json"]
        assert json["username"] == "user2"
        assert json["email"] == "*****@*****.**"
        assert json["password"] == "pass2"
        assert json["options"] == {"realname": "Foo Bar 2"}