180 lines
5.9 KiB
C#
180 lines
5.9 KiB
C#
// using System.Net;
|
|
// using System.Net.Http.Json;
|
|
//
|
|
// using BrokerCore.ApiModels;
|
|
// using BrokerCore.DbEntity;
|
|
//
|
|
// using BrokerTest.Helper;
|
|
//
|
|
// using ServerCommon;
|
|
//
|
|
// using Xunit.Abstractions;
|
|
//
|
|
// namespace BrokerTest.Controllers;
|
|
//
|
|
// public class DevPlanetUserControllerTests : IAsyncLifetime
|
|
// {
|
|
// private readonly ITestOutputHelper m_test_output_helper;
|
|
// const string m_planet_id = "new_earth";
|
|
// const string m_planet_secret_key = "A8h$KmP3sWxZqL5vYnR7uTgBdEjHkMlQoT1wXzCv";
|
|
// const string m_user_guid = "1052b08b52ef4d69a27ee1f40911a72f";
|
|
// private string m_planet_token = string.Empty;
|
|
// const string m_remote_server_url = "https://dev.planethub.caliverse.io:12000";
|
|
// private readonly MetaTableTestHelper m_meta_table_test_helper = new();
|
|
//
|
|
// private readonly IBrokerTestServer m_server = new BrokerTestRemoteServer(m_remote_server_url);
|
|
//
|
|
// public DevPlanetUserControllerTests(ITestOutputHelper testOutputHelper)
|
|
// {
|
|
// m_test_output_helper = testOutputHelper;
|
|
// }
|
|
//
|
|
// private HttpClient getTestClient()
|
|
// {
|
|
// var client = m_server.getTestClient();
|
|
// if (m_planet_token != string.Empty)
|
|
// {
|
|
// client.DefaultRequestHeaders.Add("Authorization", $"Bearer {m_planet_token}");
|
|
// }
|
|
//
|
|
// return client;
|
|
// }
|
|
//
|
|
// private HttpClient getTestClientWithBearer()
|
|
// {
|
|
// var client = m_server.getTestClient();
|
|
// if (m_planet_token != string.Empty)
|
|
// {
|
|
// client.DefaultRequestHeaders.Add("Authorization", $"Bearer {m_planet_token}");
|
|
// }
|
|
//
|
|
// return client;
|
|
// }
|
|
//
|
|
// public async Task InitializeAsync()
|
|
// {
|
|
// m_meta_table_test_helper.load();
|
|
//
|
|
// // Arrange
|
|
// var client = getTestClient();
|
|
// var request = new PlanetAuthRequest { PlanetId = m_planet_id, PlanetSecretKey = m_planet_secret_key };
|
|
//
|
|
// // Act
|
|
// var response = await client.PostAsJsonAsync("/api/v1/planet/auth", request);
|
|
//
|
|
// // Assert
|
|
// response.EnsureSuccessStatusCode();
|
|
// var response_body = await response.Content.ReadFromJsonAsync<PlanetAuthResponse>();
|
|
// Assert.NotNull(response_body);
|
|
// Assert.NotEmpty(response_body.AccessToken);
|
|
// m_planet_token = response_body.AccessToken;
|
|
// }
|
|
//
|
|
// public async Task DisposeAsync()
|
|
// {
|
|
// await Task.CompletedTask;
|
|
// }
|
|
//
|
|
// private bool checkError(HttpResponseMessage responseMessage)
|
|
// {
|
|
// if (responseMessage.StatusCode != HttpStatusCode.OK)
|
|
// {
|
|
// var error_body = responseMessage.Content.ReadFromJsonAsync<ApiErrorResponse>().Result;
|
|
// Assert.NotNull(error_body);
|
|
// m_test_output_helper.WriteLine(error_body.ErrorMessage ?? string.Empty);
|
|
// Assert.True(false);
|
|
// }
|
|
//
|
|
// return true;
|
|
// }
|
|
//
|
|
// [Fact(DisplayName = "아이템 교환 주문 컨트롤러 테스트 모든 Meta")]
|
|
// public async Task allMetaTests()
|
|
// {
|
|
// var meta = m_meta_table_test_helper.getMetaTableRef();
|
|
// var meta_tuples = meta.MetaTable.PlanetItemExchangePolicyMetaTable.PlanetItemExchangePolicyDataList
|
|
// .Select(x =>
|
|
// string.Equals(x.CaliverseItemType, CaliverseItemType.Currency.ToString(),
|
|
// StringComparison.CurrentCultureIgnoreCase)
|
|
// ? (x.ID, Random.Shared.Next(10, 201))
|
|
// : (x.ID, 1));
|
|
// foreach (var meta_tuple in meta_tuples)
|
|
// {
|
|
// await orderTest(meta_tuple.Item1, meta_tuple.Item2);
|
|
// }
|
|
// }
|
|
//
|
|
// private async Task orderTest(string metaId, int metaAmount)
|
|
// {
|
|
// string order_id;
|
|
// {
|
|
// // Arrange
|
|
// var request_uri = "/api/v1/planet/user/exchange/order/create";
|
|
// var client = getTestClientWithBearer();
|
|
// var exchange_request = new PlanetItemExchangeRequest
|
|
// {
|
|
// SeasonId = "TEST_SEASON_ID",
|
|
// UserGuid = m_user_guid, ExchangeMetaId = metaId, ExchangeMetaAmount = metaAmount,
|
|
// };
|
|
//
|
|
// // Act
|
|
// var exchange_response = await client.PostAsJsonAsync(request_uri, exchange_request);
|
|
//
|
|
// // Assert
|
|
// checkError(exchange_response);
|
|
// var exchange_response_body =
|
|
// await exchange_response.Content.ReadFromJsonAsync<PlanetItemExchangeResponse>();
|
|
// Assert.NotNull(exchange_response_body);
|
|
// Assert.NotNull(exchange_response_body.ExchangeOrder.OrderId);
|
|
// order_id = exchange_response_body.ExchangeOrder.OrderId;
|
|
// }
|
|
// {
|
|
// // Arrange
|
|
// var request_uri = "/api/v1/planet/user/exchange/order/list";
|
|
// var client = getTestClientWithBearer();
|
|
// var list_request = new PlanetItemExchangeOrderListRequest
|
|
// {
|
|
// UserGuid = m_user_guid, Option = FindOption.All, ExchangeMetaId = metaId,
|
|
// };
|
|
//
|
|
// // Act
|
|
// var list_response = await client.PostAsJsonAsync(request_uri, list_request);
|
|
// checkError(list_response);
|
|
//
|
|
// // Assert
|
|
// list_response.EnsureSuccessStatusCode();
|
|
// var list_response_body =
|
|
// await list_response.Content.ReadFromJsonAsync<PlanetItemExchangeOrderListResponse>();
|
|
// Assert.NotNull(list_response_body);
|
|
// Assert.NotNull(list_response_body.Orders);
|
|
//
|
|
// var order = list_response_body.Orders.FirstOrDefault(x => x.OrderId == order_id);
|
|
// Assert.NotNull(order);
|
|
// Assert.Equal(ExchangeOrderStatus.Pending, order.OrderStatus);
|
|
// }
|
|
// {
|
|
// // Arrange
|
|
// var request_uri = "/api/v1/planet/user/exchange/order/complete";
|
|
// var client = getTestClientWithBearer();
|
|
//
|
|
// // Act
|
|
// var complete_request = new PlanetItemExchangeCompleteRequest
|
|
// {
|
|
// UserGuid = m_user_guid, ExchangeOrderId = order_id
|
|
// };
|
|
// var complete_response =
|
|
// await client.PostAsJsonAsync(request_uri, complete_request);
|
|
// checkError(complete_response);
|
|
//
|
|
// // Assert
|
|
// complete_response.EnsureSuccessStatusCode();
|
|
// var complete_response_body =
|
|
// await complete_response.Content.ReadFromJsonAsync<PlanetItemExchangeResponse>();
|
|
// Assert.NotNull(complete_response_body);
|
|
// Assert.NotNull(complete_response_body.ExchangeOrder);
|
|
// Assert.Equal(order_id, complete_response_body.ExchangeOrder.OrderId);
|
|
// Assert.Equal(ExchangeOrderStatus.Completed, complete_response_body.ExchangeOrder.OrderStatus);
|
|
// }
|
|
// }
|
|
// }
|