Skip to content

Commit

Permalink
Fixed unit tests
Browse files Browse the repository at this point in the history
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
  • Loading branch information
WhitWaldo committed Feb 10, 2025
1 parent 2bf2bad commit 171d48b
Showing 1 changed file with 10 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,7 @@ public async Task MapDaprScheduledJobHandler_ValidRequest_ExecutesAction()
var client = server.CreateClient();

var serializedPayload = JsonSerializer.Serialize(new SamplePayload("Dapr", 789));
var serializedPayloadBytes = Encoding.UTF8.GetBytes(serializedPayload);
var jobDetails = new DaprJobDetails(new DaprJobSchedule("0 0 * * *"))
{
RepeatCount = 5,
DueTime = DateTimeOffset.UtcNow,
Ttl = DateTimeOffset.UtcNow.AddHours(1),
Payload = serializedPayloadBytes
};
var content = new StringContent(JsonSerializer.Serialize(jobDetails), Encoding.UTF8, "application/json");
var content = new StringContent(serializedPayload, Encoding.UTF8, "application/json");

const string jobName = "testJob";
var response = await client.PostAsync($"/job/{jobName}", content);
Expand All @@ -68,15 +60,7 @@ public async Task MapDaprScheduleJobHandler_HandleMissingCancellationToken()
var client = server.CreateClient();

var serializedPayload = JsonSerializer.Serialize(new SamplePayload("Dapr", 789));
var serializedPayloadBytes = Encoding.UTF8.GetBytes(serializedPayload);
var jobDetails = new DaprJobDetails(new DaprJobSchedule("0 0 * * *"))
{
RepeatCount = 5,
DueTime = DateTimeOffset.UtcNow,
Ttl = DateTimeOffset.UtcNow.AddHours(1),
Payload = serializedPayloadBytes
};
var content = new StringContent(JsonSerializer.Serialize(jobDetails), Encoding.UTF8, "application/json");
var content = new StringContent(serializedPayload, Encoding.UTF8, "application/json");

const string jobName = "testJob";
var response = await client.PostAsync($"/job/{jobName}", content);
Expand All @@ -89,31 +73,11 @@ public async Task MapDaprScheduleJobHandler_HandleMissingCancellationToken()
Assert.Equal(serializedPayload, validator.SerializedPayload);
}


[Fact]
public async Task MapDaprScheduledJobHandler_InvalidPayload()
{
// Arrange
var server = CreateTestServer();
var client = server.CreateClient();

var content = new StringContent("", Encoding.UTF8, "application/json");

// Act
const string jobName = "testJob";
var response = await client.PostAsync($"/job/{jobName}", content);

var validator = server.Services.GetRequiredService<Validator>();
Assert.Equal(jobName, validator.JobName);
Assert.Null(validator.SerializedPayload);
}

private sealed record SamplePayload(string Name, int Count);

public sealed class Validator
{
public string? JobName { get; set; }

public string? SerializedPayload { get; set; }
}

Expand All @@ -130,15 +94,10 @@ private static TestServer CreateTestServer()
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDaprScheduledJobHandler(async (string? jobName, DaprJobDetails? jobDetails, Validator validator, CancellationToken cancellationToken) =>
endpoints.MapDaprScheduledJobHandler(async (string jobName, ReadOnlyMemory<byte> jobPayload, Validator validator, CancellationToken cancellationToken) =>
{
if (jobName is not null)
validator.JobName = jobName;
if (jobDetails?.Payload is not null)
{
var payloadString = Encoding.UTF8.GetString(jobDetails.Payload);
validator.SerializedPayload = payloadString;
}
validator.JobName = jobName;
validator.SerializedPayload = Encoding.UTF8.GetString(jobPayload.Span);
await Task.CompletedTask;
});
});
Expand All @@ -160,15 +119,12 @@ private static TestServer CreateTestServer2()
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDaprScheduledJobHandler(async (string? jobName, Validator validator, DaprJobDetails? jobDetails) =>
endpoints.MapDaprScheduledJobHandler(async (string jobName, Validator validator, ReadOnlyMemory<byte> payload) =>
{
if (jobName is not null)
validator.JobName = jobName;
if (jobDetails?.Payload is not null)
{
var payloadString = Encoding.UTF8.GetString(jobDetails.Payload);
validator.SerializedPayload = payloadString;
}
validator.JobName = jobName;

var payloadString = Encoding.UTF8.GetString(payload.Span);
validator.SerializedPayload = payloadString;
await Task.CompletedTask;
});
});
Expand Down

0 comments on commit 171d48b

Please sign in to comment.