-
-
Notifications
You must be signed in to change notification settings - Fork 554
/
Copy pathArch.php
69 lines (61 loc) · 1.86 KB
/
Arch.php
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
<?php
test('contracts')
->expect('OpenAI\Contracts')
->toOnlyUse([
'OpenAI\ValueObjects',
'OpenAI\Exceptions',
'OpenAI\Resources',
'Psr\Http\Message\ResponseInterface',
'OpenAI\Responses',
])
->toBeInterfaces();
test('enums')
->expect('OpenAI\Enums')
->toBeEnums();
test('exceptions')
->expect('OpenAI\Exceptions')
->toOnlyUse([
'Psr\Http\Client',
])->toImplement(Throwable::class);
test('resources')->expect('OpenAI\Resources')->toOnlyUse([
'OpenAI\Contracts',
'OpenAI\ValueObjects',
'OpenAI\Exceptions',
'OpenAI\Responses',
]);
test('responses')->expect('OpenAI\Responses')->toOnlyUse([
'Http\Discovery\Psr17Factory',
'OpenAI\Enums',
'OpenAI\Exceptions\ErrorException',
'OpenAI\Exceptions\UnknownEventException',
'OpenAI\Contracts',
'OpenAI\Testing\Responses\Concerns',
'Psr\Http\Message\ResponseInterface',
'Psr\Http\Message\StreamInterface',
]);
test('value objects')->expect('OpenAI\ValueObjects')->toOnlyUse([
'Http\Discovery\Psr17Factory',
'Http\Message\MultipartStream\MultipartStreamBuilder',
'Psr\Http\Message\RequestInterface',
'Psr\Http\Message\StreamInterface',
'OpenAI\Enums',
'OpenAI\Contracts',
'OpenAI\Responses\Meta\MetaInformation',
]);
test('client')->expect('OpenAI\Client')->toOnlyUse([
'OpenAI\Resources',
'OpenAI\Contracts',
]);
test('openai')->expect('OpenAI')->toOnlyUse([
'GuzzleHttp\Client',
'GuzzleHttp\Exception\ClientException',
'Http\Discovery\Psr17Factory',
'Http\Discovery\Psr18ClientDiscovery',
'Http\Message\MultipartStream\MultipartStreamBuilder',
'OpenAI\Contracts',
'OpenAI\Resources',
'Psr\Http\Client',
'Psr\Http\Message\RequestInterface',
'Psr\Http\Message\ResponseInterface',
'Psr\Http\Message\StreamInterface',
])->ignoring('OpenAI\Testing');