Skip to content

Commit 4eb106c

Browse files
test #405 for mysql
1 parent 5912e05 commit 4eb106c

File tree

4 files changed

+40
-0
lines changed

4 files changed

+40
-0
lines changed

ktorm-support-mysql/src/test/kotlin/org/ktorm/support/mysql/CommonTest.kt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import java.util.concurrent.ExecutionException
1414
import java.util.concurrent.Executors
1515
import java.util.concurrent.TimeUnit
1616
import java.util.concurrent.TimeoutException
17+
import kotlin.test.assertEquals
1718

1819
/**
1920
* Created by vince on Dec 12, 2018.
@@ -532,4 +533,29 @@ class CommonTest : BaseMySqlTest() {
532533
.first()
533534
assertThat(mood1, equalTo(null))
534535
}
536+
537+
interface TestMultiGeneratedKey : Entity<TestMultiGeneratedKey> {
538+
var id: Int
539+
var k: String
540+
var v: String
541+
}
542+
543+
object TestMultiGeneratedKeys : Table<TestMultiGeneratedKey>("t_multi_generated_key") {
544+
val id = int("id").primaryKey().bindTo { it.id }
545+
val k = varchar("k").bindTo { it.k }
546+
val v = varchar("v").bindTo { it.v }
547+
}
548+
549+
@Test
550+
fun testMultiGeneratedKey() {
551+
val e = Entity.create<TestMultiGeneratedKey>()
552+
e.v = "test~~"
553+
database.sequenceOf(TestMultiGeneratedKeys).add(e)
554+
555+
val e1 = database.sequenceOf(TestMultiGeneratedKeys).first()
556+
println(e1)
557+
assertEquals(1, e1.id)
558+
assertEquals("test~~", e1.v)
559+
assert(e1.k.isNotEmpty())
560+
}
535561
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
drop table if exists t_department;
22
drop table if exists t_employee;
33
drop table if exists t_user;
4+
drop table if exists t_multi_generated_key;

ktorm-support-mysql/src/test/resources/init-mysql-data.sql

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ create table t_user(
2323
age int
2424
);
2525

26+
create table t_multi_generated_key(
27+
id int not null primary key auto_increment,
28+
k varchar(128) default (uuid()),
29+
v varchar(128)
30+
);
31+
2632
insert into t_department(name, location) values ('tech', 'Guangzhou');
2733
insert into t_department(name, location) values ('finance', 'Beijing');
2834

ktorm-support-postgresql/src/test/kotlin/org/ktorm/support/postgresql/CommonTest.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import java.util.concurrent.ExecutionException
1414
import java.util.concurrent.Executors
1515
import java.util.concurrent.TimeUnit
1616
import java.util.concurrent.TimeoutException
17+
import kotlin.test.assertEquals
1718

1819
/**
1920
* Created by vince on Feb 13, 2019.
@@ -212,5 +213,11 @@ class CommonTest : BasePostgreSqlTest() {
212213
val e = Entity.create<TestMultiGeneratedKey>()
213214
e.v = "test~~"
214215
database.sequenceOf(TestMultiGeneratedKeys).add(e)
216+
217+
val e1 = database.sequenceOf(TestMultiGeneratedKeys).first()
218+
println(e1)
219+
assertEquals(1, e1.id)
220+
assertEquals("test~~", e1.v)
221+
assert(e1.k.isNotEmpty())
215222
}
216223
}

0 commit comments

Comments
 (0)