75 lines
2.7 KiB
Lua
75 lines
2.7 KiB
Lua
local bedrock_provider = require("avante.providers.bedrock")
|
|
|
|
local test_util = require("avante.utils.test")
|
|
local Config = require("avante.config")
|
|
Config.setup({})
|
|
|
|
describe("bedrock_provider", function()
|
|
describe("parse_stream_data", function()
|
|
it("should parse response in a stream.", function()
|
|
local data = test_util.read_file("tests/data/bedrock_response_stream.bin")
|
|
local message = ""
|
|
bedrock_provider:parse_stream_data({}, data, {
|
|
on_chunk = function(msg) message = message .. msg end,
|
|
on_stop = function() end,
|
|
})
|
|
assert.equals(
|
|
"I'll help you fix errors in the HelloLog4j.java file. Let me first understand what errors might be present by examining the code and related files.",
|
|
message
|
|
)
|
|
end)
|
|
|
|
it("should parse exception inside a stream.", function()
|
|
local data = test_util.read_file("tests/data/bedrock_response_stream_with_exception.bin")
|
|
local message = ""
|
|
bedrock_provider:parse_stream_data({}, data, {
|
|
on_chunk = function(msg) message = msg end,
|
|
})
|
|
assert.equals(
|
|
"- Too many requests, please wait before trying again. You have sent too many requests. Wait before trying again.",
|
|
message
|
|
)
|
|
end)
|
|
end)
|
|
|
|
describe("check_curl_version_supports_aws_sig", function()
|
|
it(
|
|
"should return true for curl version 8.10.0",
|
|
function()
|
|
assert.is_true(
|
|
bedrock_provider.check_curl_version_supports_aws_sig(
|
|
"curl 8.10.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh2/1.8.0 nghttp2/1.40.0 librtmp/2.3"
|
|
)
|
|
)
|
|
end
|
|
)
|
|
|
|
it(
|
|
"should return true for curl version higher than 8.10.0",
|
|
function()
|
|
assert.is_true(
|
|
bedrock_provider.check_curl_version_supports_aws_sig(
|
|
"curl 8.11.0 (aarch64-apple-darwin23.6.0) libcurl/8.11.0 OpenSSL/3.4.0 (SecureTransport) zlib/1.2.12 brotli/1.1.0 zstd/1.5.6 AppleIDN libssh2/1.11.1 nghttp2/1.64.0 librtmp/2.3"
|
|
)
|
|
)
|
|
end
|
|
)
|
|
|
|
it(
|
|
"should return false for curl version lower than 8.10.0",
|
|
function()
|
|
assert.is_false(
|
|
bedrock_provider.check_curl_version_supports_aws_sig(
|
|
"curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh2/1.8.0 nghttp2/1.40.0 librtmp/2.3"
|
|
)
|
|
)
|
|
end
|
|
)
|
|
|
|
it(
|
|
"should return false for invalid version string",
|
|
function() assert.is_false(bedrock_provider.check_curl_version_supports_aws_sig("Invalid version string")) end
|
|
)
|
|
end)
|
|
end)
|