1
- import XCTest
2
- @testable import ClickHouseVapor
3
1
import Foundation
4
2
import Vapor
3
+ import XCTest
4
+
5
+ @testable import ClickHouseVapor
5
6
6
7
extension Application {
7
8
func configureClickHouseDatabases( ) throws {
@@ -40,10 +41,9 @@ public class TestModel: ClickHouseModel {
40
41
@Field ( key: " dat " )
41
42
var dat : [ ClickHouseDate ]
42
43
43
-
44
44
/// Not implemented on test-server
45
45
// @Field(key: "dat32")
46
- // var dat32: [ClickHouseDate32]
46
+ // var dat32: [ClickHouseDate32]
47
47
48
48
@Field ( key: " datt " )
49
49
var datt : [ ClickHouseDateTime ]
@@ -53,22 +53,20 @@ public class TestModel: ClickHouseModel {
53
53
54
54
@Field ( key: " datt64 " , precision: 3 )
55
55
var datt64 : [ ClickHouseDateTime64 ]
56
-
56
+
57
57
@Field ( key: " datt64z " , precision: 3 , timeZone: " 'GMT' " )
58
58
var datt64z : [ ClickHouseDateTime64 ]
59
-
59
+
60
60
@Field ( key: " en8 " , mapping: [ " a " : 0 , " b " : 1 ] )
61
61
var en8 : [ ClickHouseEnum8 ]
62
-
62
+
63
63
@Field ( key: " en16 " , mapping: [ " a " : 12 , " b " : 1 , " c " : 600 ] )
64
64
var en16 : [ ClickHouseEnum16 ]
65
65
66
66
@Field ( key: " temperature " )
67
67
var temperature : [ Float ]
68
68
69
- required public init ( ) {
70
-
71
- }
69
+ public required init ( ) { }
72
70
73
71
public static var engine : ClickHouseEngine {
74
72
return ClickHouseEngineReplacingMergeTree (
@@ -105,7 +103,6 @@ public final class InheritedTestModel: TestParentClass, ClickHouseModel {
105
103
}
106
104
107
105
final class ClickHouseVaporTests : XCTestCase {
108
-
109
106
static var allTests = [
110
107
( " testPing " , testPing) ,
111
108
( " testModel " , testModel) ,
@@ -134,7 +131,7 @@ final class ClickHouseVaporTests: XCTestCase {
134
131
135
132
model. id = [ " x010 " , " ax51 " , " cd22 " ]
136
133
model. fixed = [ " " , " 123456 " , " 12345678901234 " ]
137
- model. arr = [ [ 1 ] , [ ] , [ 76 , 56 , 2 ] ]
134
+ model. arr = [ [ 1 ] , [ ] , [ 76 , 56 , 2 ] ]
138
135
model. dat = [ . clickhouseDefault, . clickhouseDefault, . clickhouseDefault]
139
136
model. datt = [ . clickhouseDefault, . clickhouseDefault, . clickhouseDefault]
140
137
model. datt64 = [ . clickhouseDefault, . clickhouseDefault, . clickhouseDefault]
@@ -144,7 +141,7 @@ final class ClickHouseVaporTests: XCTestCase {
144
141
model. en16 = [ . init( word: " a " ) , . init( word: " b " ) , . init( word: " c " ) ]
145
142
model. timestamp = [ 100 , 200 , 300 ]
146
143
model. temperature = [ 11.1 , 10.4 , 8.9 ]
147
-
144
+
148
145
let createQuery = TestModel . engine. createTableQuery ( columns: model. properties)
149
146
XCTAssertEqual ( createQuery
150
147
. replacingOccurrences ( of: " Enum8('b'=1,'a'=0) " , with: " Enum8('a'=0,'b'=1) " )
@@ -166,16 +163,16 @@ final class ClickHouseVaporTests: XCTestCase {
166
163
XCTAssertEqual ( model. id, model2. id)
167
164
XCTAssertEqual ( [ " " , " 123456 " , " 1234567890 " ] , model2. fixed)
168
165
XCTAssertEqual ( model. timestamp, model2. timestamp)
169
- XCTAssertEqual ( model. dat. map { $0. date} , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
170
- XCTAssertEqual ( model2. dat. map { $0. date} , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
171
- XCTAssertEqual ( model. datt. map { $0. date} , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
172
- XCTAssertEqual ( model2. datt. map { $0. date} , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
173
- XCTAssertEqual ( model. dattz. map { $0. date} , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
174
- XCTAssertEqual ( model2. dattz. map { $0. date} , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
175
- XCTAssertEqual ( model. en8. map { $0. word} , [ " a " , " b " , " a " ] )
176
- XCTAssertEqual ( model2. en8. map { $0. word} , [ " a " , " b " , " a " ] )
177
- XCTAssertEqual ( model. en16. map { $0. word} , [ " a " , " b " , " c " ] )
178
- XCTAssertEqual ( model2. en16. map { $0. word} , [ " a " , " b " , " c " ] )
166
+ XCTAssertEqual ( model. dat. map { $0. date } , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
167
+ XCTAssertEqual ( model2. dat. map { $0. date } , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
168
+ XCTAssertEqual ( model. datt. map { $0. date } , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
169
+ XCTAssertEqual ( model2. datt. map { $0. date } , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
170
+ XCTAssertEqual ( model. dattz. map { $0. date } , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
171
+ XCTAssertEqual ( model2. dattz. map { $0. date } , [ Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) , Date ( timeIntervalSince1970: 0.0 ) ] )
172
+ XCTAssertEqual ( model. en8. map { $0. word } , [ " a " , " b " , " a " ] )
173
+ XCTAssertEqual ( model2. en8. map { $0. word } , [ " a " , " b " , " a " ] )
174
+ XCTAssertEqual ( model. en16. map { $0. word } , [ " a " , " b " , " c " ] )
175
+ XCTAssertEqual ( model2. en16. map { $0. word } , [ " a " , " b " , " c " ] )
179
176
XCTAssertEqual ( model. arr, [ [ 1 ] , [ ] , [ 76 , 56 , 2 ] ] )
180
177
XCTAssertEqual ( model2. arr, [ [ 1 ] , [ ] , [ 76 , 56 , 2 ] ] )
181
178
@@ -192,7 +189,7 @@ final class ClickHouseVaporTests: XCTestCase {
192
189
XCTAssertEqual ( filtered. id, [ " ax51 " , " x010 " ] )
193
190
XCTAssertEqual ( filtered. timestamp, [ 200 , 100 ] )
194
191
195
- /// Raw select query, that gets applied to
192
+ // Raw select query, that gets applied to
196
193
let model3 = try ! TestModel . select (
197
194
on: app. clickHouse,
198
195
sql: " SELECT timestamp, stationID FROM default.test "
@@ -210,7 +207,8 @@ final class ClickHouseVaporTests: XCTestCase {
210
207
211
208
let model = InheritedTestModel ( )
212
209
let createQuery = InheritedTestModel . engine. createTableQuery ( columns: model. properties)
213
- XCTAssertEqual ( createQuery,
210
+ XCTAssertEqual (
211
+ createQuery,
214
212
"""
215
213
CREATE TABLE IF NOT EXISTS `testInherited` (timestamp Int64,stationID LowCardinality(String),temperature Float32)
216
214
ENGINE = ReplacingMergeTree()
@@ -222,7 +220,7 @@ final class ClickHouseVaporTests: XCTestCase {
222
220
try ! InheritedTestModel . deleteTable ( on: app. clickHouse) . wait ( )
223
221
// create table
224
222
try ! InheritedTestModel . createTable ( on: app. clickHouse) . wait ( )
225
-
223
+
226
224
// fill model with data and insert it
227
225
model. id = [ " x010 " , " ax51 " , " cd22 " ]
228
226
model. timestamp = [ 100 , 200 , 300 ]
@@ -232,9 +230,9 @@ final class ClickHouseVaporTests: XCTestCase {
232
230
// select the data again
233
231
let model2 = try ! InheritedTestModel . select ( on: app. clickHouse) . wait ( )
234
232
235
- XCTAssertEqual ( model2. id, model. id)
236
- XCTAssertEqual ( model2. timestamp, model. timestamp)
237
- XCTAssertEqual ( model2. temperature, model. temperature)
233
+ XCTAssertEqual ( model2. id, model. id)
234
+ XCTAssertEqual ( model2. timestamp, model. timestamp)
235
+ XCTAssertEqual ( model2. temperature, model. temperature)
238
236
}
239
237
240
238
/// insert should fail if some columns are not set, but others are
0 commit comments