Knocks/BackEnd/Knoks.Test.Integrations/Api/TokenControllerTest.cs

76 lines
2.6 KiB
C#

using Knoks.Api.Client;
using Knoks.Api.Client.Invoker;
using Knoks.Test.Integrations.Api.Tools;
using System;
using System.Net;
using System.Threading.Tasks;
using Xunit;
namespace Knoks.Test.Integrations.Api
{
public class TokenControllerTest : ApiTestClient
{
[Fact(DisplayName = "Get Api Consumer Token")]
async Task GetApiConsumerTokenTest()
{
var res = await ApiClient.GetApiConsumerToken();
Assert.NotNull(res.Object);
}
[Fact(DisplayName = "Invalid Api Identifier")]
async Task InvalidBrandIdentifier()
{
var tmpClient = new ApiClient(Guid.NewGuid().ToString("N"), ApiClient.HttpClient);
var res = await tmpClient.GetApiConsumerToken();
Assert.Equal(ApiErrorType.InvalidApiIdentifier, res.ApiResponse.Error.Id);
}
[Fact(DisplayName = "Refresh")]
async Task Refresh()
{
await ApiClient.AuthorizeApiConsumer();
var res = await ApiClient.InvokeTokenRefresh();
Assert.Null(res.ApiResponse.Error);
Assert.NotNull(res.ApiResponse.Result);
}
[Fact(DisplayName = "Unotorized Refresh")]
async Task UnotorizedRefresh()
{
var res = await ApiClient.InvokeTokenRefresh();
Assert.Equal(HttpStatusCode.Unauthorized, res.HttpResponse.StatusCode);
}
[Fact(DisplayName = "Heartbit")]
async Task Heartbit()
{
await ApiClient.AuthorizeApiConsumer();
var res = (await ApiClient.InvokeTokenHeartbit()).Object;
Assert.True(res.Value);
}
[Fact(DisplayName = "Unotorized Heartbit")]
async Task UnotorizedHeartbit()
{
var res = await ApiClient.InvokeTokenHeartbit();
Assert.Equal(HttpStatusCode.Unauthorized, res.HttpResponse.StatusCode);
}
[Fact(DisplayName = "Invalid Username or Password")]
async Task InvalidUsernameOrPassword()
{
var response = await ApiClient.GetApiUserToken(Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
Assert.Equal(ApiErrorType.InvalidUsernameOrPassword, response.ApiResponse.Error.Id);
}
[Fact(DisplayName = "Invalid OperatorName or OperatorPassword")]
async Task InvalidOperatorNameOrOperatorPassword()
{
var res = await ApiClient.GetApiOperatorToken(Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
Assert.Equal(ApiErrorType.InvalidUsernameOrPassword, res.ApiResponse.Error.Id);
}
}
}