Add Fake Checkin for K6 Test

This commit is contained in:
Suphonchai Phoonsawat 2024-08-19 17:18:58 +07:00
parent e1533a5c23
commit 127f21dc43
3 changed files with 65 additions and 7 deletions

View file

@ -483,6 +483,48 @@ namespace BMA.EHR.Leave.Service.Controllers
return Success(new { date = currentDate });
}
/// <summary>
/// Fake Check in
/// </summary>
/// <returns>
/// </returns>
/// <response code="200">เมื่อทำรายการสำเร็จ</response>
/// <response code="401">ไม่ได้ Login เข้าระบบ</response>
/// <response code="500">เมื่อเกิดข้อผิดพลาดในการทำงาน</response>
[HttpPost("check-in"), DisableRequestSizeLimit]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
[AllowAnonymous]
public ActionResult<ResponseObject> FakeCheckIn([FromBody] FakeCheckTimeDto data)
{
var currentDate = DateTime.Now;
// create connection
var factory = new ConnectionFactory()
{
HostName = _configuration["Rabbit:Host"],
UserName = _configuration["Rabbit:User"],
Password = _configuration["Rabbit:Password"],
};
// create channel
using var connection = factory.CreateConnection();
using var channel = connection.CreateModel();
channel.QueueDeclare(queue: "fake-checkin-queue", durable: false, exclusive: false, autoDelete: false, arguments: null);
// แปลง Object เป็น JSON สตริง
var serializedObject = JsonConvert.SerializeObject(data);
// แปลง JSON สตริงเป็น byte array
var body = Encoding.UTF8.GetBytes(serializedObject);
channel.BasicPublish(exchange: "", routingKey: "fake-checkin-queue", basicProperties: null, body: body);
Console.WriteLine($"Send to Queue: {serializedObject}");
return Success(new { date = currentDate });
}
/// <summary>
/// Check in Processing
/// </summary>