Change to new message format
This commit is contained in:
@ -2,14 +2,44 @@
|
||||
import XCTVapor
|
||||
|
||||
final class AppTests: XCTestCase {
|
||||
func testHelloWorld() throws {
|
||||
let app = Application(.testing)
|
||||
defer { app.shutdown() }
|
||||
try configure(app)
|
||||
|
||||
try app.test(.GET, "hello", afterResponse: { res in
|
||||
XCTAssertEqual(res.status, .ok)
|
||||
XCTAssertEqual(res.body.string, "Hello, world!")
|
||||
})
|
||||
func testEncodingUInt32() {
|
||||
let input: UInt32 = 123
|
||||
let data = input.encoded
|
||||
let output = UInt32(data: data)
|
||||
XCTAssertEqual(input, output)
|
||||
}
|
||||
|
||||
func testEncodingContent() {
|
||||
let input = Message.Content(time: 1234567890, id: 23456789)
|
||||
let data = input.encoded
|
||||
let output = Message.Content(decodeFrom: data)
|
||||
XCTAssertEqual(input, output)
|
||||
let data2 = Data([42, 42]) + data
|
||||
let output2 = Message.Content(decodeFrom: Data(data2[2...]))
|
||||
XCTAssertEqual(input, output2)
|
||||
}
|
||||
|
||||
func testEncodingMessage() {
|
||||
let input = Message(mac: Data(repeating: 42, count: 32),
|
||||
content: Message.Content(time: 1234567890, id: 23456789))
|
||||
let data = input.encoded
|
||||
let buffer = ByteBuffer(data: data)
|
||||
let output = Message(decodeFrom: buffer)
|
||||
XCTAssertEqual(input, output)
|
||||
}
|
||||
|
||||
func testSigning() throws {
|
||||
let key = SymmetricKey(size: .bits256)
|
||||
let content = Message.Content(time: 1234567890, id: 23456789)
|
||||
let input = content.authenticate(using: key)
|
||||
XCTAssertTrue(input.isValid(using: key))
|
||||
|
||||
let data = content.authenticateAndSerialize(using: key)
|
||||
let decoded = Message(decodeFrom: ByteBuffer(data: data))
|
||||
XCTAssertNotNil(decoded)
|
||||
XCTAssertTrue(decoded!.isValid(using: key))
|
||||
XCTAssertEqual(decoded!, input)
|
||||
XCTAssertEqual(content, input.content)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user