Skip to content

Commit 1262efe

Browse files
committed
[backend] split tests into multiple files
1 parent 0de00c7 commit 1262efe

File tree

4 files changed

+333
-227
lines changed

4 files changed

+333
-227
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
import gql from 'graphql-tag';
2+
import { describe, expect, it } from 'vitest';
3+
import { queryAsAdmin } from '../../utils/testQuery';
4+
import { queryAsAdminWithSuccess } from '../../utils/testQueryHelper';
5+
6+
const READ_QUERY = gql`
7+
query StixCyberObservable($id: String!) {
8+
stixCyberObservable(id: $id) {
9+
id
10+
}
11+
}
12+
`;
13+
14+
const CREATE_MUTATION = gql`
15+
mutation StixCyberObservableAdd($type: String!, $input: ICCIDAddInput) {
16+
stixCyberObservableAdd(type: $type, ICCID: $input) {
17+
id
18+
observable_value
19+
}
20+
}
21+
`;
22+
23+
const UPDATE_MUTATION = gql`
24+
mutation StixCyberObservableEdit($id: ID!, $input: [EditInput]!) {
25+
stixCyberObservableEdit(id: $id) {
26+
fieldPatch(input: $input) {
27+
id
28+
observable_value
29+
}
30+
}
31+
}
32+
`;
33+
34+
const DELETE_MUTATION = gql`
35+
mutation stixCyberObservableDelete($id: ID!) {
36+
stixCyberObservableEdit(id: $id) {
37+
delete
38+
}
39+
}
40+
`;
41+
42+
describe('SCO ICCID resolver standard behavior', () => {
43+
let internalId: string;
44+
45+
it('should not create invalid ICCID', async () => {
46+
const response = await queryAsAdmin({
47+
query: CREATE_MUTATION,
48+
variables: {
49+
type: 'ICCID',
50+
input: { value: 'ABC123' },
51+
},
52+
});
53+
expect(response?.errors?.[0].message).toEqual('Observable is not correctly formatted');
54+
});
55+
56+
it('should create ICCID', async () => {
57+
const response = await queryAsAdmin({
58+
query: CREATE_MUTATION,
59+
variables: {
60+
type: 'ICCID',
61+
input: { value: '123456789012345678' },
62+
},
63+
});
64+
expect(response.data?.stixCyberObservableAdd).not.toBeNull();
65+
expect(response.data?.stixCyberObservableAdd.observable_value).toEqual('123456789012345678');
66+
internalId = response.data?.stixCyberObservableAdd.id ?? '';
67+
});
68+
69+
it('should not update invalid ICCID', async () => {
70+
const response = await queryAsAdmin({
71+
query: UPDATE_MUTATION,
72+
variables: {
73+
id: internalId,
74+
input: { key: 'value', value: 'ABC123' },
75+
},
76+
});
77+
expect(response.errors?.[0].message).toEqual('Observable of is not correctly formatted');
78+
});
79+
80+
it('should update ICCID', async () => {
81+
const response = await queryAsAdminWithSuccess({
82+
query: UPDATE_MUTATION,
83+
variables: {
84+
id: internalId,
85+
input: { key: 'value', value: '1234567890123456789' },
86+
},
87+
});
88+
expect(response.data?.stixCyberObservableEdit.fieldPatch.observable_value).toEqual('1234567890123456789');
89+
});
90+
91+
it('should delete ICCID', async () => {
92+
// Verify it exists
93+
let queryResult = await queryAsAdmin({
94+
query: READ_QUERY,
95+
variables: { id: internalId },
96+
});
97+
expect(queryResult.data?.stixCyberObservable).not.toBeNull();
98+
// Delete
99+
await queryAsAdminWithSuccess({
100+
query: DELETE_MUTATION,
101+
variables: { id: internalId },
102+
});
103+
// Verify is no longer found
104+
queryResult = await queryAsAdmin({
105+
query: READ_QUERY,
106+
variables: { id: internalId },
107+
});
108+
expect(queryResult).not.toBeNull();
109+
expect(queryResult.data?.stixCyberObservable).toBeNull();
110+
});
111+
});
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
import gql from 'graphql-tag';
2+
import { describe, expect, it } from 'vitest';
3+
import { queryAsAdmin } from '../../utils/testQuery';
4+
import { queryAsAdminWithSuccess } from '../../utils/testQueryHelper';
5+
6+
const READ_QUERY = gql`
7+
query StixCyberObservable($id: String!) {
8+
stixCyberObservable(id: $id) {
9+
id
10+
}
11+
}
12+
`;
13+
14+
const CREATE_MUTATION = gql`
15+
mutation StixCyberObservableAdd($type: String!, $input: IMEIAddInput) {
16+
stixCyberObservableAdd(type: $type, IMEI: $input) {
17+
id
18+
observable_value
19+
}
20+
}
21+
`;
22+
23+
const UPDATE_MUTATION = gql`
24+
mutation StixCyberObservableEdit($id: ID!, $input: [EditInput]!) {
25+
stixCyberObservableEdit(id: $id) {
26+
fieldPatch(input: $input) {
27+
id
28+
observable_value
29+
}
30+
}
31+
}
32+
`;
33+
34+
const DELETE_MUTATION = gql`
35+
mutation stixCyberObservableDelete($id: ID!) {
36+
stixCyberObservableEdit(id: $id) {
37+
delete
38+
}
39+
}
40+
`;
41+
42+
describe('SCO IMEI resolver standard behavior', () => {
43+
let internalId: string;
44+
45+
it('should not create invalid IMEI', async () => {
46+
const response = await queryAsAdmin({
47+
query: CREATE_MUTATION,
48+
variables: {
49+
type: 'IMEI',
50+
input: { value: 'ABC123' },
51+
},
52+
});
53+
expect(response?.errors?.[0].message).toEqual('Observable is not correctly formatted');
54+
});
55+
56+
it('should create IMEI', async () => {
57+
const response = await queryAsAdmin({
58+
query: CREATE_MUTATION,
59+
variables: {
60+
type: 'IMEI',
61+
input: { value: '112222223333334' },
62+
},
63+
});
64+
expect(response.data?.stixCyberObservableAdd).not.toBeNull();
65+
expect(response.data?.stixCyberObservableAdd.observable_value).toEqual('112222223333334');
66+
internalId = response.data?.stixCyberObservableAdd.id ?? '';
67+
});
68+
69+
it('should not update invalid IMEI', async () => {
70+
const response = await queryAsAdmin({
71+
query: UPDATE_MUTATION,
72+
variables: {
73+
id: internalId,
74+
input: { key: 'value', value: 'ABC123' },
75+
},
76+
});
77+
expect(response.errors?.[0].message).toEqual('Observable of is not correctly formatted');
78+
});
79+
80+
it('should update IMEI', async () => {
81+
const response = await queryAsAdminWithSuccess({
82+
query: UPDATE_MUTATION,
83+
variables: {
84+
id: internalId,
85+
input: { key: 'value', value: '112222223333335' },
86+
},
87+
});
88+
expect(response.data?.stixCyberObservableEdit.fieldPatch.observable_value).toEqual('112222223333335');
89+
});
90+
91+
it('should delete IMEI', async () => {
92+
// Verify it exists
93+
let queryResult = await queryAsAdmin({
94+
query: READ_QUERY,
95+
variables: { id: internalId },
96+
});
97+
expect(queryResult.data?.stixCyberObservable).not.toBeNull();
98+
// Delete
99+
await queryAsAdminWithSuccess({
100+
query: DELETE_MUTATION,
101+
variables: { id: internalId },
102+
});
103+
// Verify is no longer found
104+
queryResult = await queryAsAdmin({
105+
query: READ_QUERY,
106+
variables: { id: internalId },
107+
});
108+
expect(queryResult).not.toBeNull();
109+
expect(queryResult.data?.stixCyberObservable).toBeNull();
110+
});
111+
});
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
import gql from 'graphql-tag';
2+
import { describe, expect, it } from 'vitest';
3+
import { queryAsAdmin } from '../../utils/testQuery';
4+
import { queryAsAdminWithSuccess } from '../../utils/testQueryHelper';
5+
6+
const READ_QUERY = gql`
7+
query StixCyberObservable($id: String!) {
8+
stixCyberObservable(id: $id) {
9+
id
10+
}
11+
}
12+
`;
13+
14+
const CREATE_MUTATION = gql`
15+
mutation StixCyberObservableAdd($type: String!, $input: IMSIAddInput) {
16+
stixCyberObservableAdd(type: $type, IMSI: $input) {
17+
id
18+
observable_value
19+
}
20+
}
21+
`;
22+
23+
const UPDATE_MUTATION = gql`
24+
mutation StixCyberObservableEdit($id: ID!, $input: [EditInput]!) {
25+
stixCyberObservableEdit(id: $id) {
26+
fieldPatch(input: $input) {
27+
id
28+
observable_value
29+
}
30+
}
31+
}
32+
`;
33+
34+
const DELETE_MUTATION = gql`
35+
mutation stixCyberObservableDelete($id: ID!) {
36+
stixCyberObservableEdit(id: $id) {
37+
delete
38+
}
39+
}
40+
`;
41+
42+
describe('SCO IMSI resolver standard behavior', () => {
43+
let internalId: string;
44+
45+
it('should not create invalid IMSI', async () => {
46+
const response = await queryAsAdmin({
47+
query: CREATE_MUTATION,
48+
variables: {
49+
type: 'IMSI',
50+
input: { value: 'ABC123' },
51+
},
52+
});
53+
expect(response?.errors?.[0].message).toEqual('Observable is not correctly formatted');
54+
});
55+
56+
it('should create IMSI', async () => {
57+
const response = await queryAsAdmin({
58+
query: CREATE_MUTATION,
59+
variables: {
60+
type: 'IMSI',
61+
input: { value: '313460000000001' },
62+
},
63+
});
64+
expect(response.data?.stixCyberObservableAdd).not.toBeNull();
65+
expect(response.data?.stixCyberObservableAdd.observable_value).toEqual('313460000000001');
66+
internalId = response.data?.stixCyberObservableAdd.id ?? '';
67+
});
68+
69+
it('should not update invalid IMSI', async () => {
70+
const response = await queryAsAdmin({
71+
query: UPDATE_MUTATION,
72+
variables: {
73+
id: internalId,
74+
input: { key: 'value', value: 'ABC123' },
75+
},
76+
});
77+
expect(response.errors?.[0].message).toEqual('Observable of is not correctly formatted');
78+
});
79+
80+
it('should update IMSI', async () => {
81+
const response = await queryAsAdminWithSuccess({
82+
query: UPDATE_MUTATION,
83+
variables: {
84+
id: internalId,
85+
input: { key: 'value', value: '313460000000002' },
86+
},
87+
});
88+
expect(response.data?.stixCyberObservableEdit.fieldPatch.observable_value).toEqual('313460000000002');
89+
});
90+
91+
it('should delete IMSI', async () => {
92+
// Verify it exists
93+
let queryResult = await queryAsAdmin({
94+
query: READ_QUERY,
95+
variables: { id: internalId },
96+
});
97+
expect(queryResult.data?.stixCyberObservable).not.toBeNull();
98+
// Delete
99+
await queryAsAdminWithSuccess({
100+
query: DELETE_MUTATION,
101+
variables: { id: internalId },
102+
});
103+
// Verify is no longer found
104+
queryResult = await queryAsAdmin({
105+
query: READ_QUERY,
106+
variables: { id: internalId },
107+
});
108+
expect(queryResult).not.toBeNull();
109+
expect(queryResult.data?.stixCyberObservable).toBeNull();
110+
});
111+
});

0 commit comments

Comments
 (0)