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
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
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
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
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)
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"}
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
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"}