This repository has been archived by the owner on Jun 16, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 14
/
tests-open.js
69 lines (65 loc) · 2.03 KB
/
tests-open.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import http from 'k6/http';
import { check, group, sleep, fail } from 'k6';
export let options = {
vus: 1,
iterations: 1,
};
const BASE_URL = __ENV.API_BASE;
const HEADERS = { 'Content-Type': 'application/json' };
const convertResponseJson = (request) => {
try {
return JSON.parse(request.body);
} catch (error) {
return false;
}
};
export default () => {
group('Consulta Organizações', function () {
// Consulta org que não existe
let query1 = http.get(`${BASE_URL}api/orgs/abcdef1235673/`, {
headers: HEADERS,
});
check(query1, {
'Consulta se org que não existe retorna 404': (r) => r.status === 404,
});
// Consulta org que existe
let query2 = http.get(`${BASE_URL}api/orgs/instruct-br/`, {
headers: HEADERS,
});
check(query2, {
'Consulta se org que existe retorna 200': (r) => r.status === 200,
});
// Lista todas as organizações salvas
let query3 = http.get(`${BASE_URL}api/orgs/`, { headers: HEADERS });
check(query3, {
'Lista todas organizações no cache': (r) => {
let data = convertResponseJson(r);
return data.filter((d) => d.login === 'instruct-br').length === 1;
},
});
});
group('Deleta Organização', function () {
// Deleta org que não existe
let query1 = http.del(`${BASE_URL}api/orgs/abcdef1235673/`, {
headers: HEADERS,
});
check(query1, {
'Deleta org não existente retorna 404': (r) => r.status === 404,
});
// Deleta org que existe
let query2 = http.del(`${BASE_URL}api/orgs/instruct-br/`, {
headers: HEADERS,
});
check(query2, {
'Deleta org existente': (r) => [200, 204].includes(r.status),
});
// Lista todas as organizações salvas
let query3 = http.get(`${BASE_URL}api/orgs/`, { headers: HEADERS });
check(query3, {
'Lista todas organizações no cache após executar delete': (r) => {
let data = convertResponseJson(r);
return data.filter((d) => d.login === 'instruct-br').length === 0;
},
});
});
};