From a7c1a8349f74b5b0bde2e51a9924930fee3b20d6 Mon Sep 17 00:00:00 2001 From: godotg Date: Fri, 14 Oct 2022 16:18:48 +0800 Subject: [PATCH] test[orm]: ttl test unit --- .../java/com/zfoo/orm/accessor/TtlTest.java | 38 +++++++++++++++++++ .../entity/{MailEnt.java => MailEntity.java} | 29 +++++++++----- 2 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 orm/src/test/java/com/zfoo/orm/accessor/TtlTest.java rename orm/src/test/java/com/zfoo/orm/entity/{MailEnt.java => MailEntity.java} (69%) diff --git a/orm/src/test/java/com/zfoo/orm/accessor/TtlTest.java b/orm/src/test/java/com/zfoo/orm/accessor/TtlTest.java new file mode 100644 index 00000000..6f5f1871 --- /dev/null +++ b/orm/src/test/java/com/zfoo/orm/accessor/TtlTest.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020 The zfoo Authors + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and limitations under the License. + */ + +package com.zfoo.orm.accessor; + +import com.zfoo.orm.OrmContext; +import com.zfoo.orm.entity.MailEntity; +import com.zfoo.scheduler.util.TimeUtils; +import org.junit.Ignore; +import org.junit.Test; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import java.util.Date; + +/** + * @author godotg + * @version 3.0 + */ +@Ignore +public class TtlTest { + + @Test + public void ttlTest() { + var context = new ClassPathXmlApplicationContext("application.xml"); + var mailEntity = MailEntity.valueOf("d", "godot", "hello ttl", new Date(TimeUtils.now())); + OrmContext.getAccessor().insert(mailEntity); + } + +} diff --git a/orm/src/test/java/com/zfoo/orm/entity/MailEnt.java b/orm/src/test/java/com/zfoo/orm/entity/MailEntity.java similarity index 69% rename from orm/src/test/java/com/zfoo/orm/entity/MailEnt.java rename to orm/src/test/java/com/zfoo/orm/entity/MailEntity.java index 3343de29..771d55c3 100644 --- a/orm/src/test/java/com/zfoo/orm/entity/MailEnt.java +++ b/orm/src/test/java/com/zfoo/orm/entity/MailEntity.java @@ -16,16 +16,17 @@ package com.zfoo.orm.entity; import com.zfoo.orm.model.anno.EntityCache; import com.zfoo.orm.model.anno.Id; import com.zfoo.orm.model.anno.Index; -import com.zfoo.orm.model.anno.Persister; import com.zfoo.orm.model.entity.IEntity; +import java.util.Date; + /** * @author godotg * @version 3.0 */ -@EntityCache(persister = @Persister("time30s")) -public class MailEnt implements IEntity { +@EntityCache +public class MailEntity implements IEntity { @Id private String id; @@ -35,13 +36,16 @@ public class MailEnt implements IEntity { private String content; - public MailEnt() { - } + @Index(ascending = true, unique = false, ttl = true, expireAfterSeconds = 10) + private Date createDate; - public MailEnt(String id, String userName, String content) { - this.id = id; - this.userName = userName; - this.content = content; + public static MailEntity valueOf(String id, String userName, String content, Date createDate) { + var entity = new MailEntity(); + entity.id = id; + entity.userName = userName; + entity.content = content; + entity.createDate = createDate; + return entity; } @Override @@ -73,4 +77,11 @@ public class MailEnt implements IEntity { this.content = content; } + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } }