CloudGamingAdmin/admin-server/CloudGaming.Api.Admin.Test/AgileConfigTest/AuthClientTest.cs
2024-11-15 02:58:48 +08:00

151 lines
5.2 KiB
C#

using CloudGaming.Core.AgileConfig.AgileConfigClient;
using CloudGaming.Core.AgileConfig;
using Refit;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using CloudGaming.Code.DataBaseModel;
using CloudGaming.Core.AgileConfig.AgileConfigApi;
namespace CloudGaming.Api.Admin.Test.AgileConfigTest
{
public class AuthClientTest
{
[Test]
public async Task Test1()
{
// 调用登录接口获取 JWT 令牌
var authClient = RestService.For<IAuthClient>("http://124.220.55.158:94");
var loginRequest = new LoginRequest { UserName = "admin", Password = "dbt@com@1234" };
var loginResponse = await authClient.LoginAsync(loginRequest);
string jwtToken = loginResponse.Token;
// 使用 JWT 令牌调用受保护的 API
var httpClient = new HttpClient(new BasicAuthHttpClientHandler("admin", "dbt@com@1234"))
{
BaseAddress = new Uri("http://124.220.55.158:94")
};
try
{
var agileConfigClient = RestService.For<IAgileConfigClient>(httpClient);
var apps = await agileConfigClient.GetAllAppsAsync();
//dfa47997-fb5c-b644-3770-880f5e7fb403
//huanmeng
Console.WriteLine("所有应用列表:");
foreach (var app in apps)
{
Console.WriteLine($"应用名称: {app.Name}, 应用ID: {app.Id}");
}
}
catch (Exception ex)
{
}
var httpClient1 = new HttpClient(new BasicAuthHttpClientHandler("huanmeng", "dfa47997-fb5c-b644-3770-880f5e7fb403"))
{
BaseAddress = new Uri("http://124.220.55.158:94")
};
try
{
var agileConfigClient1 = RestService.For<IAgileConfigClient>(httpClient1);
var xx = await agileConfigClient1.GetAppConfigsAsync("huanmeng", "DEV");
var dic = xx.ConvertToDictionary();
var json = DictionaryConvertToJson.ToJson(dic);
//var list = xx.ConvertToList();
////list.
//var result1 = AgileConfigExtend.ConvertToJson(list);
//string json1 = JsonConvert.SerializeObject(result1, Formatting.Indented);
//var xxxcc = AgileConfigExtend.ParseToNestedJson(list);
//var result = AgileConfigExtend.ParseToJson(list);
//string json = JsonConvert.SerializeObject(result, Formatting.Indented);
//Console.WriteLine(json);
//string list = "";
//list.ForEach(it => list += it + "\r\n");
//var json = AgileConfigExtend.ConvertToNestedJson(list);
}
catch (Exception ex)
{
}
}
[Test]
public async Task Test2()
{
var httpClient = new HttpClient(new BasicAuthHttpClientHandler("CloudGaming", "95BB717C61D1ECB0E9FB82C932CC77FF"))
{
BaseAddress = new Uri("http://124.220.55.158:94")
};
var agileConfigClient1 = RestService.For<IAgileConfigClient>(httpClient);
var xx = await agileConfigClient1.GetAppConfigsAsync("CloudGaming", "DEV");
try
{
var xxx = await agileConfigClient1.GetAppConfigAsync("CloudGaming", "DEV");
}
catch (Exception ex)
{
}
}
[Test]
public async Task Test3()
{
var httpClient = new HttpClient(new BasicAuthHttpClientHandler("admin", "dbt@com@1234"))
{
BaseAddress = new Uri("http://124.220.55.158:94")
};
var agileConfigClient = RestService.For<IAgileConfigClient>(httpClient);
try
{
var list = await agileConfigClient.GetAppConfigAsync("CloudGaming", "DEV");
var dic = list.ConvertToDictionary();
var json = DictionaryConvertToJson.ToJson(dic);
var model = JsonConvert.DeserializeObject<AppConfigTenant>(json);
}
catch (Exception ex)
{
}
}
[Test]
public async Task Test4()
{
// 调用登录接口获取 JWT 令牌
var authClient = RestService.For<IAuthClient>("http://124.220.55.158:94");
var loginRequest = new LoginRequest { UserName = "admin", Password = "dbt@com@1234" };
var loginResponse = await authClient.LoginAsync(loginRequest);
string jwtToken = loginResponse.Token;
// 使用 JWT 令牌调用受保护的 API
var httpClient = new HttpClient(new AuthenticatedHttpClientHandler(jwtToken))
{
BaseAddress = new Uri("http://124.220.55.158:94")
};
try
{
var agileConfigClient = RestService.For<IAgileConfigApi>(httpClient);
var model = await agileConfigClient.GetJson("CloudGaming", "DEV");
}
catch (Exception ex)
{
}
}
}
}