Files
caliverse_server/BrokerApiTest/DocQuery/EntityBaseTests.cs
2025-05-01 07:20:41 +09:00

112 lines
4.1 KiB
C#

namespace PlatformTest.DbQuery;
using Amazon;
using Amazon.DynamoDBv2;
using ServerCommon;
using ServerCore; using ServerBase;
public class EntityBaseTests
{
private readonly DynamoDbClient m_dynamo_db_client;
public EntityBaseTests()
{
m_dynamo_db_client = new DynamoDbClient();
(var error_code, var table_names) = ServerConfigHelper.getDynamoDbTableNamesWithServiceType("Dev");
ConditionValidCheckHelper.throwIfFalseWithCondition(() => ServerErrorCode.Success == error_code
, () => $"Failed to ServerConfigHelper.getDynamoDbTableNamesWithServiceType() !!! : errorCode:{error_code}");
var result = m_dynamo_db_client.connectToDb(table_names, true, "http://localhost:8000", "local", "local");
if (result.isFail())
{
Log.getLogger().error($"Failed to connectToDb !!! ");
return;
}
Log.getLogger().info($"Success connectToDb !!!");
}
internal async Task initDynamoDbClient()
{
if (false == await m_dynamo_db_client.createDBIfNotExists(false))
{
// err_msg = $"Failed to create DB Table !!! - {toBasicString()}";
// result.setFail(ServerErrorCode.DynamoDbTableCreateFailed, err_msg);
Log.getLogger().fatal("Failed to create DB Table !!!");
// return result;
}
}
[Fact]
public async Task entityInsertActionTest()
{
await initDynamoDbClient();
var user_entity = new UserTestEntity();
await user_entity.onInit();
user_entity.getEntityAction<UserTestInsertAction>();
var user_id = Guid.NewGuid().ToString();
var name = $"name_{user_id}";
}
[Fact]
public async Task EntityFindOneActionTest()
{
await initDynamoDbClient();
var user_entity = new UserTestEntity();
await user_entity.onInit();
user_entity.getEntityAction<UserTestFindOneAction>();
// var example = new DynamoDbExample(m_dynamo_db_client);
var user_id = Guid.NewGuid().ToString();
}
[Fact]
public async Task entityBaseTest()
{
await initDynamoDbClient();
var example = new DynamoDbExample(m_dynamo_db_client);
var user_id = Guid.NewGuid().ToString();
var name = $"name_{user_id}";
//=====================================================================================
// Insert
//=====================================================================================
var (result, user_test_doc) = await example.insertUser(user_id, name);
Assert.True(result.isSuccess());
var user_test_attrib = user_test_doc?.getAttrib<UserTestAttrib>();
Assert.NotNull(user_test_attrib);
Assert.True(user_test_attrib.UserId == user_id);
Assert.True(user_test_attrib.Name == name);
var (find_result, user_test_find_doc) = await example.findUserOne(user_id);
Assert.True(find_result.isSuccess());
Assert.NotNull(find_result);
Assert.NotNull(user_test_find_doc);
Assert.True(user_test_find_doc.getAttrib<UserTestAttrib>()?.UserId == user_id);
Assert.True(user_test_find_doc.getAttrib<UserTestAttrib>()?.Name == name);
var new_name = $"name_{user_id}_2";
var (update_result, user_test_update_doc) = await example.updateUser(user_id, new_name);
Assert.True(update_result.isSuccess());
var (find_result2, user_test_update_doc2) = await example.findUserOne(user_id);
Assert.True(find_result2.isSuccess());
Assert.NotNull(user_test_update_doc2);
Assert.True(user_test_update_doc2.getAttrib<UserTestAttrib>()?.UserId == user_id);
Assert.True(user_test_update_doc2.getAttrib<UserTestAttrib>()?.Name == new_name);
var delete_result = await example.DeleteUserOne(user_id);
Assert.True(delete_result.isSuccess());
var (find_result3, user_test_delete_doc) = await example.findUserOne(user_id);
Assert.Null(user_test_delete_doc);
Assert.True(find_result3.isFail());
}
}