Skip to content

Commit 83b80af

Browse files
committed
Fix tests
Signed-off-by: Ryan Levick <ryan.levick@fermyon.com>
1 parent a892fd2 commit 83b80af

File tree

5 files changed

+28
-9
lines changed

5 files changed

+28
-9
lines changed

components/outbound-redis/src/lib.rs

+11-7
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,12 @@ impl Guest for Component {
3131
const REDIS_ADDRESS_HEADER: &str = "REDIS_ADDRESS";
3232

3333
fn handle(request: IncomingRequest) -> anyhow::Result<OutgoingResponse> {
34-
let Some(address) = request.headers().entries().into_iter().find_map(|(k, v)| {
35-
(k == REDIS_ADDRESS_HEADER)
36-
.then_some(v)
37-
.and_then(|v| String::from_utf8(v).ok())
38-
}) else {
34+
let Some(address) = request
35+
.headers()
36+
.get(&REDIS_ADDRESS_HEADER.to_owned())
37+
.pop()
38+
.and_then(|v| String::from_utf8(v).ok())
39+
else {
3940
// Otherwise, return a 400 Bad Request response.
4041
return Ok(response(400, b"Bad Request"));
4142
};
@@ -94,12 +95,15 @@ fn handle(request: IncomingRequest) -> anyhow::Result<OutgoingResponse> {
9495
],
9596
)?;
9697

97-
connection.execute(
98+
let values = connection.execute(
9899
"incr",
99100
&[redis::RedisParameter::Binary(b"int-key".to_vec())],
100101
)?;
101102

102-
anyhow::ensure!(matches!(values.as_slice(), &[redis::RedisResult::Int64(1)]));
103+
anyhow::ensure!(
104+
matches!(values.as_slice(), &[redis::RedisResult::Int64(1)]),
105+
"call to `execute('incr')` returned unexpected result: {values:?} != &[redis::RedisResult::Int64(1)]"
106+
);
103107

104108
let values =
105109
connection.execute("get", &[redis::RedisParameter::Binary(b"int-key".to_vec())])?;

tests/outbound-redis-no-permission/test.json5

+9-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
{
88
"name": "Host",
99
"value": "example.com"
10+
},
11+
{
12+
"name": "redis_address",
13+
"value": "redis://localhost:%{port=6379}",
1014
}
1115
]
1216
},
@@ -15,7 +19,11 @@
1519
"headers": [
1620
{
1721
"name": "Content-Length",
18-
"value": "0"
22+
"optional": true,
23+
},
24+
{
25+
"name": "transfer-encoding",
26+
"optional": true
1927
},
2028
{
2129
"name": "Date",

tests/outbound-redis-variable-permission/test.json5

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
{
88
"name": "Host",
99
"value": "example.com"
10+
},
11+
{
12+
"name": "redis_address",
13+
"value": "redis://localhost:%{port=6379}",
1014
}
1115
]
1216
},

tests/outbound-redis/spin.toml

-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,4 @@ component = "test"
1111

1212
[component.test]
1313
source = "%{source=outbound-redis}"
14-
environment = { REDIS_ADDRESS = "redis://localhost:%{port=6379}" }
1514
allowed_outbound_hosts = ["redis://localhost:%{port=6379}"]

tests/outbound-redis/test.json5

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
{
88
"name": "Host",
99
"value": "example.com"
10+
},
11+
{
12+
"name": "redis_address",
13+
"value": "redis://localhost:%{port=6379}",
1014
}
1115
]
1216
},

0 commit comments

Comments
 (0)