mirror of
https://kevinblog.sytes.net/Code/Jibo-Revival-Group/JiboExperiments.git
synced 2026-06-17 13:46:06 +00:00
refactors
This commit is contained in:
@@ -13,12 +13,8 @@ internal static class ProtocolFixtureLoader
|
||||
|
||||
var headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
if (root.TryGetProperty("headers", out var headerElement) && headerElement.ValueKind == JsonValueKind.Object)
|
||||
{
|
||||
foreach (var property in headerElement.EnumerateObject())
|
||||
{
|
||||
headers[property.Name] = property.Value.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
var bodyText = root.TryGetProperty("body", out var bodyElement)
|
||||
? bodyElement.GetRawText()
|
||||
@@ -34,8 +30,12 @@ internal static class ProtocolFixtureLoader
|
||||
Name = Path.GetFileNameWithoutExtension(relativePath),
|
||||
Request = new ProtocolEnvelope
|
||||
{
|
||||
HostName = root.TryGetProperty("host", out var hostElement) ? hostElement.GetString() ?? "api.jibo.com" : "api.jibo.com",
|
||||
Method = root.TryGetProperty("method", out var methodElement) ? methodElement.GetString() ?? "POST" : "POST",
|
||||
HostName = root.TryGetProperty("host", out var hostElement)
|
||||
? hostElement.GetString() ?? "api.jibo.com"
|
||||
: "api.jibo.com",
|
||||
Method = root.TryGetProperty("method", out var methodElement)
|
||||
? methodElement.GetString() ?? "POST"
|
||||
: "POST",
|
||||
Path = root.TryGetProperty("path", out var pathElement) ? pathElement.GetString() ?? "/" : "/",
|
||||
Headers = headers,
|
||||
ServicePrefix = targetParts.Length > 0 ? targetParts[0] : null,
|
||||
@@ -45,4 +45,4 @@ internal static class ProtocolFixtureLoader
|
||||
ExpectedStatusCode = 200
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,23 +28,31 @@ internal static class WebSocketFixtureLoader
|
||||
Kind = session.GetProperty("kind").GetString() ?? "neo-hub-listen",
|
||||
Token = session.GetProperty("token").GetString(),
|
||||
Text = stepElement.TryGetProperty("text", out var text) ? text.GetRawText() : null,
|
||||
Binary = stepElement.TryGetProperty("binary", out var binary) && binary.ValueKind == JsonValueKind.Array
|
||||
Binary = stepElement.TryGetProperty("binary", out var binary) &&
|
||||
binary.ValueKind == JsonValueKind.Array
|
||||
? binary.EnumerateArray().Select(item => (byte)item.GetInt32()).ToArray()
|
||||
: null
|
||||
},
|
||||
ExpectedReplyTypes = [.. stepElement.GetProperty("expectedReplyTypes")
|
||||
.EnumerateArray()
|
||||
.Select(item => item.GetString() ?? string.Empty)
|
||||
.Where(item => !string.IsNullOrWhiteSpace(item))],
|
||||
ExpectedReplies = stepElement.TryGetProperty("expectedReplies", out var expectedReplies) && expectedReplies.ValueKind == JsonValueKind.Array
|
||||
? JsonSerializer.Deserialize<List<ExpectedWebSocketReply>>(expectedReplies.GetRawText(), SerializerOptions) ?? []
|
||||
ExpectedReplyTypes =
|
||||
[
|
||||
.. stepElement.GetProperty("expectedReplyTypes")
|
||||
.EnumerateArray()
|
||||
.Select(item => item.GetString() ?? string.Empty)
|
||||
.Where(item => !string.IsNullOrWhiteSpace(item))
|
||||
],
|
||||
ExpectedReplies = stepElement.TryGetProperty("expectedReplies", out var expectedReplies) &&
|
||||
expectedReplies.ValueKind == JsonValueKind.Array
|
||||
? JsonSerializer.Deserialize<List<ExpectedWebSocketReply>>(expectedReplies.GetRawText(),
|
||||
SerializerOptions) ?? []
|
||||
: []
|
||||
})
|
||||
.ToList();
|
||||
|
||||
return new WebSocketFixture
|
||||
{
|
||||
Name = root.TryGetProperty("name", out var name) ? name.GetString() ?? Path.GetFileNameWithoutExtension(relativePath) : Path.GetFileNameWithoutExtension(relativePath),
|
||||
Name = root.TryGetProperty("name", out var name)
|
||||
? name.GetString() ?? Path.GetFileNameWithoutExtension(relativePath)
|
||||
: Path.GetFileNameWithoutExtension(relativePath),
|
||||
Steps = steps
|
||||
};
|
||||
}
|
||||
@@ -68,4 +76,4 @@ internal sealed class ExpectedWebSocketReply
|
||||
public string Type { get; init; } = string.Empty;
|
||||
public int? DelayMs { get; init; }
|
||||
public JsonElement? JsonSubset { get; init; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user