12
12
//
13
13
//===----------------------------------------------------------------------===//
14
14
15
+ import Foundation
15
16
import NIOCore
16
- import XCTest
17
+ import Testing
17
18
18
19
@testable import AWSLambdaRuntimeCore
19
20
20
- final class LambdaRequestIDTest : XCTestCase {
21
+ @Suite ( " LambdaRequestID tests " )
22
+ struct LambdaRequestIDTest {
23
+ @Test
21
24
func testInitFromStringSuccess( ) {
22
25
let string = " E621E1F8-C36C-495A-93FC-0C247A3E6E5F "
23
26
var buffer = ByteBuffer ( string: string)
24
27
25
28
let requestID = buffer. readRequestID ( )
26
- XCTAssertEqual ( buffer. readerIndex, 36 )
27
- XCTAssertEqual ( buffer. readableBytes, 0 )
28
- XCTAssertEqual ( requestID? . uuidString, UUID ( uuidString: string) ? . uuidString)
29
- XCTAssertEqual ( requestID? . uppercased, string)
29
+ #expect ( buffer. readerIndex == 36 )
30
+ #expect ( buffer. readableBytes == 0 )
31
+ #expect ( requestID? . uuidString == UUID ( uuidString: string) ? . uuidString)
32
+ #expect ( requestID? . uppercased == string)
30
33
}
31
34
35
+ @Test
32
36
func testInitFromLowercaseStringSuccess( ) {
33
37
let string = " E621E1F8-C36C-495A-93FC-0C247A3E6E5F " . lowercased ( )
34
38
var originalBuffer = ByteBuffer ( string: string)
35
39
36
40
let requestID = originalBuffer. readRequestID ( )
37
- XCTAssertEqual ( originalBuffer. readerIndex, 36 )
38
- XCTAssertEqual ( originalBuffer. readableBytes, 0 )
39
- XCTAssertEqual ( requestID? . uuidString, UUID ( uuidString: string) ? . uuidString)
40
- XCTAssertEqual ( requestID? . lowercased, string)
41
+ #expect ( originalBuffer. readerIndex == 36 )
42
+ #expect ( originalBuffer. readableBytes == 0 )
43
+ #expect ( requestID? . uuidString == UUID ( uuidString: string) ? . uuidString)
44
+ #expect ( requestID? . lowercased == string)
41
45
42
46
var newBuffer = ByteBuffer ( )
43
47
originalBuffer. moveReaderIndex ( to: 0 )
44
- XCTAssertNoThrow ( try newBuffer. writeRequestID ( XCTUnwrap ( requestID) ) )
45
- XCTAssertEqual ( newBuffer, originalBuffer)
48
+ #expect ( throws : Never . self ) { try newBuffer. writeRequestID ( #require ( requestID) ) }
49
+ #expect ( newBuffer == originalBuffer)
46
50
}
47
51
52
+ @Test
48
53
func testInitFromStringMissingCharacterAtEnd( ) {
49
54
let string = " E621E1F8-C36C-495A-93FC-0C247A3E6E5 "
50
55
var buffer = ByteBuffer ( string: string)
51
56
52
57
let readableBeforeRead = buffer. readableBytes
53
58
let requestID = buffer. readRequestID ( )
54
- XCTAssertNil ( requestID)
55
- XCTAssertEqual ( buffer. readerIndex, 0 )
56
- XCTAssertEqual ( buffer. readableBytes, readableBeforeRead)
59
+ #expect ( requestID == nil )
60
+ #expect ( buffer. readerIndex == 0 )
61
+ #expect ( buffer. readableBytes == readableBeforeRead)
57
62
}
58
63
64
+ @Test
59
65
func testInitFromStringInvalidCharacterAtEnd( ) {
60
66
let string = " E621E1F8-C36C-495A-93FC-0C247A3E6E5H "
61
67
var buffer = ByteBuffer ( string: string)
62
68
63
69
let readableBeforeRead = buffer. readableBytes
64
70
let requestID = buffer. readRequestID ( )
65
- XCTAssertNil ( requestID)
66
- XCTAssertEqual ( buffer. readerIndex, 0 )
67
- XCTAssertEqual ( buffer. readableBytes, readableBeforeRead)
71
+ #expect ( requestID == nil )
72
+ #expect ( buffer. readerIndex == 0 )
73
+ #expect ( buffer. readableBytes == readableBeforeRead)
68
74
}
69
75
70
- func testInitFromStringInvalidSeparatorCharacter( ) {
71
- let invalid = [
76
+ @Test (
77
+ " Init from String with invalid separator character " ,
78
+ arguments: [
72
79
// with _ instead of -
73
80
" E621E1F8-C36C-495A-93FC_0C247A3E6E5F " ,
74
81
" E621E1F8-C36C-495A_93FC-0C247A3E6E5F " ,
@@ -81,18 +88,19 @@ final class LambdaRequestIDTest: XCTestCase {
81
88
" E621E1F8-C36C0495A-93FC-0C247A3E6E5F " ,
82
89
" E621E1F80C36C-495A-93FC-0C247A3E6E5F " ,
83
90
]
91
+ )
92
+ func testInitFromStringInvalidSeparatorCharacter( _ input: String ) {
84
93
85
- for string in invalid {
86
- var buffer = ByteBuffer ( string: string)
94
+ var buffer = ByteBuffer ( string: input)
87
95
88
- let readableBeforeRead = buffer. readableBytes
89
- let requestID = buffer. readRequestID ( )
90
- XCTAssertNil ( requestID)
91
- XCTAssertEqual ( buffer. readerIndex, 0 )
92
- XCTAssertEqual ( buffer. readableBytes, readableBeforeRead)
93
- }
96
+ let readableBeforeRead = buffer. readableBytes
97
+ let requestID = buffer. readRequestID ( )
98
+ #expect( requestID == nil )
99
+ #expect( buffer. readerIndex == 0 )
100
+ #expect( buffer. readableBytes == readableBeforeRead)
94
101
}
95
102
103
+ @Test
96
104
func testInitFromNSStringSuccess( ) {
97
105
let nsString = NSMutableString ( capacity: 16 )
98
106
nsString. append ( " E621E1F8 " )
@@ -110,93 +118,99 @@ final class LambdaRequestIDTest: XCTestCase {
110
118
// achieve this though at the moment
111
119
// XCTAssertFalse((nsString as String).isContiguousUTF8)
112
120
let requestID = LambdaRequestID ( uuidString: nsString as String )
113
- XCTAssertEqual ( requestID? . uuidString, LambdaRequestID ( uuidString: nsString as String ) ? . uuidString)
114
- XCTAssertEqual ( requestID? . uppercased, nsString as String )
121
+ #expect ( requestID? . uuidString == LambdaRequestID ( uuidString: nsString as String ) ? . uuidString)
122
+ #expect ( requestID? . uppercased == nsString as String )
115
123
}
116
124
125
+ @Test
117
126
func testUnparse( ) {
118
127
let string = " E621E1F8-C36C-495A-93FC-0C247A3E6E5F "
119
128
let requestID = LambdaRequestID ( uuidString: string)
120
- XCTAssertEqual ( string. lowercased ( ) , requestID? . lowercased)
129
+ #expect ( string. lowercased ( ) == requestID? . lowercased)
121
130
}
122
131
132
+ @Test
123
133
func testDescription( ) {
124
134
let requestID = LambdaRequestID ( )
125
135
let fduuid = UUID ( uuid: requestID. uuid)
126
136
127
- XCTAssertEqual ( fduuid. description, requestID. description)
128
- XCTAssertEqual ( fduuid. debugDescription, requestID. debugDescription)
137
+ #expect ( fduuid. description == requestID. description)
138
+ #expect ( fduuid. debugDescription == requestID. debugDescription)
129
139
}
130
140
141
+ @Test
131
142
func testFoundationInteropFromFoundation( ) {
132
143
let fduuid = UUID ( )
133
144
let requestID = LambdaRequestID ( uuid: fduuid. uuid)
134
145
135
- XCTAssertEqual ( fduuid. uuid. 0 , requestID. uuid. 0 )
136
- XCTAssertEqual ( fduuid. uuid. 1 , requestID. uuid. 1 )
137
- XCTAssertEqual ( fduuid. uuid. 2 , requestID. uuid. 2 )
138
- XCTAssertEqual ( fduuid. uuid. 3 , requestID. uuid. 3 )
139
- XCTAssertEqual ( fduuid. uuid. 4 , requestID. uuid. 4 )
140
- XCTAssertEqual ( fduuid. uuid. 5 , requestID. uuid. 5 )
141
- XCTAssertEqual ( fduuid. uuid. 6 , requestID. uuid. 6 )
142
- XCTAssertEqual ( fduuid. uuid. 7 , requestID. uuid. 7 )
143
- XCTAssertEqual ( fduuid. uuid. 8 , requestID. uuid. 8 )
144
- XCTAssertEqual ( fduuid. uuid. 9 , requestID. uuid. 9 )
145
- XCTAssertEqual ( fduuid. uuid. 10 , requestID. uuid. 10 )
146
- XCTAssertEqual ( fduuid. uuid. 11 , requestID. uuid. 11 )
147
- XCTAssertEqual ( fduuid. uuid. 12 , requestID. uuid. 12 )
148
- XCTAssertEqual ( fduuid. uuid. 13 , requestID. uuid. 13 )
149
- XCTAssertEqual ( fduuid. uuid. 14 , requestID. uuid. 14 )
150
- XCTAssertEqual ( fduuid. uuid. 15 , requestID. uuid. 15 )
146
+ #expect ( fduuid. uuid. 0 == requestID. uuid. 0 )
147
+ #expect ( fduuid. uuid. 1 == requestID. uuid. 1 )
148
+ #expect ( fduuid. uuid. 2 == requestID. uuid. 2 )
149
+ #expect ( fduuid. uuid. 3 == requestID. uuid. 3 )
150
+ #expect ( fduuid. uuid. 4 == requestID. uuid. 4 )
151
+ #expect ( fduuid. uuid. 5 == requestID. uuid. 5 )
152
+ #expect ( fduuid. uuid. 6 == requestID. uuid. 6 )
153
+ #expect ( fduuid. uuid. 7 == requestID. uuid. 7 )
154
+ #expect ( fduuid. uuid. 8 == requestID. uuid. 8 )
155
+ #expect ( fduuid. uuid. 9 == requestID. uuid. 9 )
156
+ #expect ( fduuid. uuid. 10 == requestID. uuid. 10 )
157
+ #expect ( fduuid. uuid. 11 == requestID. uuid. 11 )
158
+ #expect ( fduuid. uuid. 12 == requestID. uuid. 12 )
159
+ #expect ( fduuid. uuid. 13 == requestID. uuid. 13 )
160
+ #expect ( fduuid. uuid. 14 == requestID. uuid. 14 )
161
+ #expect ( fduuid. uuid. 15 == requestID. uuid. 15 )
151
162
}
152
163
164
+ @Test
153
165
func testFoundationInteropToFoundation( ) {
154
166
let requestID = LambdaRequestID ( )
155
167
let fduuid = UUID ( uuid: requestID. uuid)
156
168
157
- XCTAssertEqual ( fduuid. uuid. 0 , requestID. uuid. 0 )
158
- XCTAssertEqual ( fduuid. uuid. 1 , requestID. uuid. 1 )
159
- XCTAssertEqual ( fduuid. uuid. 2 , requestID. uuid. 2 )
160
- XCTAssertEqual ( fduuid. uuid. 3 , requestID. uuid. 3 )
161
- XCTAssertEqual ( fduuid. uuid. 4 , requestID. uuid. 4 )
162
- XCTAssertEqual ( fduuid. uuid. 5 , requestID. uuid. 5 )
163
- XCTAssertEqual ( fduuid. uuid. 6 , requestID. uuid. 6 )
164
- XCTAssertEqual ( fduuid. uuid. 7 , requestID. uuid. 7 )
165
- XCTAssertEqual ( fduuid. uuid. 8 , requestID. uuid. 8 )
166
- XCTAssertEqual ( fduuid. uuid. 9 , requestID. uuid. 9 )
167
- XCTAssertEqual ( fduuid. uuid. 10 , requestID. uuid. 10 )
168
- XCTAssertEqual ( fduuid. uuid. 11 , requestID. uuid. 11 )
169
- XCTAssertEqual ( fduuid. uuid. 12 , requestID. uuid. 12 )
170
- XCTAssertEqual ( fduuid. uuid. 13 , requestID. uuid. 13 )
171
- XCTAssertEqual ( fduuid. uuid. 14 , requestID. uuid. 14 )
172
- XCTAssertEqual ( fduuid. uuid. 15 , requestID. uuid. 15 )
169
+ #expect ( fduuid. uuid. 0 == requestID. uuid. 0 )
170
+ #expect ( fduuid. uuid. 1 == requestID. uuid. 1 )
171
+ #expect ( fduuid. uuid. 2 == requestID. uuid. 2 )
172
+ #expect ( fduuid. uuid. 3 == requestID. uuid. 3 )
173
+ #expect ( fduuid. uuid. 4 == requestID. uuid. 4 )
174
+ #expect ( fduuid. uuid. 5 == requestID. uuid. 5 )
175
+ #expect ( fduuid. uuid. 6 == requestID. uuid. 6 )
176
+ #expect ( fduuid. uuid. 7 == requestID. uuid. 7 )
177
+ #expect ( fduuid. uuid. 8 == requestID. uuid. 8 )
178
+ #expect ( fduuid. uuid. 9 == requestID. uuid. 9 )
179
+ #expect ( fduuid. uuid. 10 == requestID. uuid. 10 )
180
+ #expect ( fduuid. uuid. 11 == requestID. uuid. 11 )
181
+ #expect ( fduuid. uuid. 12 == requestID. uuid. 12 )
182
+ #expect ( fduuid. uuid. 13 == requestID. uuid. 13 )
183
+ #expect ( fduuid. uuid. 14 == requestID. uuid. 14 )
184
+ #expect ( fduuid. uuid. 15 == requestID. uuid. 15 )
173
185
}
174
186
187
+ @Test
175
188
func testHashing( ) {
176
189
let requestID = LambdaRequestID ( )
177
190
let fduuid = UUID ( uuid: requestID. uuid)
178
- XCTAssertEqual ( fduuid. hashValue, requestID. hashValue)
191
+ #expect ( fduuid. hashValue == requestID. hashValue)
179
192
180
193
var _uuid = requestID. uuid
181
194
_uuid. 0 = _uuid. 0 > 0 ? _uuid. 0 - 1 : 1
182
- XCTAssertNotEqual ( UUID ( uuid: _uuid) . hashValue, requestID. hashValue)
195
+ #expect ( UUID ( uuid: _uuid) . hashValue != requestID. hashValue)
183
196
}
184
197
185
- func testEncoding( ) {
198
+ @Test
199
+ func testEncoding( ) throws {
186
200
struct Test : Codable {
187
201
let requestID : LambdaRequestID
188
202
}
189
203
let requestID = LambdaRequestID ( )
190
204
let test = Test ( requestID: requestID)
191
205
192
206
var data : Data ?
193
- XCTAssertNoThrow ( data = try JSONEncoder ( ) . encode ( test) )
194
- XCTAssertEqual (
195
- try String ( decoding: XCTUnwrap ( data) , as: Unicode . UTF8. self) ,
196
- #"{"requestID":" \#( requestID. uuidString) "}"#
207
+ #expect( throws: Never . self) { data = try JSONEncoder ( ) . encode ( test) }
208
+ #expect(
209
+ try String ( decoding: #require( data) , as: Unicode . UTF8. self) == #"{"requestID":" \#( requestID. uuidString) "}"#
197
210
)
198
211
}
199
212
213
+ @Test
200
214
func testDecodingSuccess( ) {
201
215
struct Test : Codable {
202
216
let requestID : LambdaRequestID
@@ -205,10 +219,11 @@ final class LambdaRequestIDTest: XCTestCase {
205
219
let data = #"{"requestID":" \#( requestID. uuidString) "}"# . data ( using: . utf8)
206
220
207
221
var result : Test ?
208
- XCTAssertNoThrow ( result = try JSONDecoder ( ) . decode ( Test . self, from: XCTUnwrap ( data) ) )
209
- XCTAssertEqual ( result? . requestID, requestID)
222
+ #expect ( throws : Never . self ) { result = try JSONDecoder ( ) . decode ( Test . self, from: #require ( data) ) }
223
+ #expect ( result? . requestID == requestID)
210
224
}
211
225
226
+ @Test
212
227
func testDecodingFailure( ) {
213
228
struct Test : Codable {
214
229
let requestID : LambdaRequestID
@@ -218,12 +233,13 @@ final class LambdaRequestIDTest: XCTestCase {
218
233
_ = requestIDString. removeLast ( )
219
234
let data = #"{"requestID":" \#( requestIDString) "}"# . data ( using: . utf8)
220
235
221
- XCTAssertThrowsError ( try JSONDecoder ( ) . decode ( Test . self, from : XCTUnwrap ( data ) ) ) { error in
222
- XCTAssertNotNil ( error as? DecodingError )
236
+ #expect ( throws : DecodingError . self) {
237
+ try JSONDecoder ( ) . decode ( Test . self , from : #require ( data ) )
223
238
}
224
239
}
225
240
241
+ @Test
226
242
func testStructSize( ) {
227
- XCTAssertEqual ( MemoryLayout< LambdaRequestID> . size, 16 )
243
+ #expect ( MemoryLayout< LambdaRequestID> . size == 16 )
228
244
}
229
245
}
0 commit comments