public async Task Change_Access_Level_When_Not_Authorized() { var assertDatabase = await RfidDatabaseAssert.CreateAsync(); var userRM = Examples.Administrator(); var tagRM = Examples.Tag(); var tagId = 0; await RfidHttpClient.RegisterUserAsync(userRM); using (var authHttpResponse = await RfidHttpClient.GenerateAuthTokenAsync(userRM)) { var authToken = await AuthTokenHelper.FromHttpResponseMessageAsync(authHttpResponse); var token = await authToken.GetTokenAsync(); using (var registerTagHttpResponse = await RfidHttpClient.RegisterTagAsync(tagRM, token)) { RfidAssert.AssertHttpResponse(registerTagHttpResponse, System.Net.HttpStatusCode.OK); tagId = await RfidDatabase.GetTagIdByNumberAsync(tagRM.Number); using (var activateHttpResponse = await RfidHttpClient.ChangeTagAccessLevelAsync(new ChangeTagAccessLevelRequestModel { Id = tagId, AccessLevel = AccessLevel.High }, null)) { RfidAssert.AssertHttpResponse(activateHttpResponse, System.Net.HttpStatusCode.Unauthorized); } } } await assertDatabase.AssertCntAsync(userRM, tagRM); await assertDatabase.AssertStateAsync("[access_control].[Tags]", tagId, new { Id = tagId, IsActive = true, LevelId = (int)AccessLevel.Mid }); }
public async Task Change_Access_Level_When_Tag_Already_Has_The_Same_Access_level() { var assertDatabase = await RfidDatabaseAssert.CreateAsync(); var userRM = Examples.Administrator(); var tagRM = Examples.Tag(); var tagId = 0; await RfidHttpClient.RegisterUserAsync(userRM); using (var authHttpResponse = await RfidHttpClient.GenerateAuthTokenAsync(userRM)) { var authToken = await AuthTokenHelper.FromHttpResponseMessageAsync(authHttpResponse); var token = await authToken.GetTokenAsync(); using (var registerTagHttpResponse = await RfidHttpClient.RegisterTagAsync(tagRM, token)) { RfidAssert.AssertHttpResponse(registerTagHttpResponse, System.Net.HttpStatusCode.OK); tagId = await RfidDatabase.GetTagIdByNumberAsync(tagRM.Number); using (var factivateHttpResponse = await RfidHttpClient.ChangeTagAccessLevelAsync(new ChangeTagAccessLevelRequestModel { Id = tagId, AccessLevel = AccessLevel.Low }, token)) using (var sactivateHttpResponse = await RfidHttpClient.ChangeTagAccessLevelAsync(new ChangeTagAccessLevelRequestModel { Id = tagId, AccessLevel = AccessLevel.Low }, token)) { RfidAssert.AssertHttpResponse(factivateHttpResponse, System.Net.HttpStatusCode.OK); RfidAssert.AssertHttpResponse(sactivateHttpResponse, System.Net.HttpStatusCode.OK); } } } tagId = await RfidDatabase.GetTagIdByNumberAsync(tagRM.Number); await assertDatabase.AssertCntAsync(userRM, tagRM); await assertDatabase.AssertStateAsync("access_control.Tags", tagId, new { Id = tagId, IsActive = true, LevelId = (int)AccessLevel.Low }); }
public async Task Change_Access_Level_When_Tag_Does_Not_Exists() { var assertDatabase = await RfidDatabaseAssert.CreateAsync(); var userRM = Examples.Administrator(); await RfidHttpClient.RegisterUserAsync(userRM); using (var authHttpResponse = await RfidHttpClient.GenerateAuthTokenAsync(userRM)) { var authToken = await AuthTokenHelper.FromHttpResponseMessageAsync(authHttpResponse); var token = await authToken.GetTokenAsync(); using (var activateHttpResponse = await RfidHttpClient.ChangeTagAccessLevelAsync(new ChangeTagAccessLevelRequestModel { Id = 0, AccessLevel = AccessLevel.High }, token)) { RfidAssert.AssertHttpResponse(activateHttpResponse, System.Net.HttpStatusCode.NotFound); } } await assertDatabase.AssertCntAsync(userRM); }