1
2async def test_redis(service_client, redis_store):
3 response = await service_client.delete('/v1/key-value?key=hello')
4 assert response.status == 200
5
6
7 assert redis_store.get('hello') is None
8
9 response = await service_client.post('/v1/key-value?key=hello&value=world')
10 assert response.status == 201
11 assert 'text/plain' in response.headers['Content-Type']
12 assert response.text == 'world'
13
14
15 assert redis_store.get('hello') == b'world'
16
17 response = await service_client.request('GET', '/v1/key-value?key=hello')
18 assert response.status == 200
19 assert 'text/plain' in response.headers['Content-Type']
20 assert response.text == 'world'
21
22
23 response = await service_client.request(
24 'POST',
25 '/v1/key-value?key=hello&value=there',
26 )
27 assert response.status == 409
28
29 response = await service_client.request('GET', '/v1/key-value?key=hello')
30 assert response.status == 200
31 assert 'text/plain' in response.headers['Content-Type']
32 assert response.text == 'world'
33
34 response = await service_client.request(
35 'DELETE',
36 '/v1/key-value?key=hello',
37 )
38 assert response.status == 200
39 assert 'text/plain' in response.headers['Content-Type']
40 assert response.text == '1'
41
42 response = await service_client.request('GET', '/v1/key-value?key=hello')
43 assert response.status == 404
44
45
46async def test_evalsha(service_client):
47 script = 'return "42"'
48
49 hash_id = 'initialhash'
50 response = await service_client.post(
51 f'/v1/script?command=evalsha&key=hello&hash={hash_id}',
52 )
53 assert response.status == 200
54 assert 'text/plain' in response.headers['Content-Type']
55 assert response.text == 'NOSCRIPT'
56
57 response = await service_client.post(
58 f'/v1/script?command=scriptload&key=hello&script={script}',
59 )
60 assert response.status == 200
61 hash_id = response.content.decode()
62
63 response = await service_client.post(
64 f'/v1/script?command=evalsha&key=hello&hash={hash_id}',
65 )
66 assert response.status == 200
67 assert 'text/plain' in response.headers['Content-Type']
68 assert response.text == '42'