mirror of https://github.com/halo-dev/halo
Upgrade spring boot dependency and change some mockito tests (#943)
* Upgrade spring boot dependency and change some mockito tests * Refactor all test with junit5 Co-authored-by: Ryan Wang <i@ryanc.cc>pull/952/head
parent
10fc93569b
commit
11f48781cb
66
build.gradle
66
build.gradle
|
@ -1,5 +1,5 @@
|
|||
plugins {
|
||||
id "org.springframework.boot" version "2.2.6.RELEASE"
|
||||
id "org.springframework.boot" version "2.3.1.RELEASE"
|
||||
id "io.spring.dependency-management" version "1.0.9.RELEASE"
|
||||
id "checkstyle"
|
||||
id "java"
|
||||
|
@ -26,14 +26,8 @@ configurations {
|
|||
implementation {
|
||||
exclude module: "spring-boot-starter-tomcat"
|
||||
exclude module: "slf4j-log4j12"
|
||||
exclude module: 'junit'
|
||||
}
|
||||
|
||||
developmentOnly
|
||||
|
||||
runtimeClasspath {
|
||||
extendsFrom developmentOnly
|
||||
}
|
||||
|
||||
compileOnly {
|
||||
extendsFrom annotationProcessor
|
||||
}
|
||||
|
@ -48,30 +42,30 @@ bootJar {
|
|||
}
|
||||
|
||||
ext {
|
||||
hutoolVersion = "5.3.8"
|
||||
upyunSdkVersion = "4.2.0"
|
||||
qiniuSdkVersion = "7.2.29"
|
||||
aliyunSdkVersion = "3.9.1"
|
||||
baiduSdkVersion = "0.10.36"
|
||||
qcloudSdkVersion = "5.6.25"
|
||||
swaggerVersion = "2.9.2"
|
||||
commonsLangVersion = "3.10"
|
||||
httpclientVersion = "4.5.12"
|
||||
dataformatYamlVersion = "2.11.0"
|
||||
jgitVersion = "5.7.0.202003110725-r"
|
||||
flexmarkVersion = "0.62.2"
|
||||
thumbnailatorVersion = "0.4.11"
|
||||
image4jVersion = "0.7zensight1"
|
||||
flywayVersion = "6.5.0"
|
||||
h2Version = "1.4.196"
|
||||
levelDbVersion = "0.12"
|
||||
hutoolVersion = "5.3.8"
|
||||
upyunSdkVersion = "4.2.0"
|
||||
qiniuSdkVersion = "7.2.29"
|
||||
aliyunSdkVersion = "3.9.1"
|
||||
baiduSdkVersion = "0.10.36"
|
||||
qcloudSdkVersion = "5.6.25"
|
||||
swaggerVersion = "2.9.2"
|
||||
commonsLangVersion = "3.10"
|
||||
httpclientVersion = "4.5.12"
|
||||
dataformatYamlVersion = "2.11.0"
|
||||
jgitVersion = "5.7.0.202003110725-r"
|
||||
flexmarkVersion = "0.62.2"
|
||||
thumbnailatorVersion = "0.4.11"
|
||||
image4jVersion = "0.7zensight1"
|
||||
flywayVersion = "6.5.0"
|
||||
h2Version = "1.4.196"
|
||||
levelDbVersion = "0.12"
|
||||
annotationsVersion = "3.0.1u2"
|
||||
jedisVersion= '3.3.0'
|
||||
jedisVersion = '3.3.0'
|
||||
zxingVersion = "3.4.0"
|
||||
huaweiObsVersion = "3.19.7"
|
||||
githubApiVersion = "1.84"
|
||||
powermockVersion = "1.6.6"
|
||||
mockitoVersion = "1.10.19"
|
||||
powermockApiMockito2 = "2.0.7"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
@ -81,8 +75,9 @@ dependencies {
|
|||
implementation "org.springframework.boot:spring-boot-starter-web"
|
||||
implementation "org.springframework.boot:spring-boot-starter-jetty"
|
||||
implementation "org.springframework.boot:spring-boot-starter-freemarker"
|
||||
implementation "com.sun.mail:jakarta.mail"
|
||||
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
||||
|
||||
implementation "com.sun.mail:jakarta.mail"
|
||||
implementation "cn.hutool:hutool-core:$hutoolVersion"
|
||||
implementation "cn.hutool:hutool-crypto:$hutoolVersion"
|
||||
implementation "cn.hutool:hutool-extra:$hutoolVersion"
|
||||
|
@ -126,22 +121,17 @@ dependencies {
|
|||
runtimeOnly "com.h2database:h2:$h2Version"
|
||||
runtimeOnly "mysql:mysql-connector-java"
|
||||
|
||||
|
||||
compileOnly "org.projectlombok:lombok"
|
||||
annotationProcessor "org.projectlombok:lombok"
|
||||
|
||||
testCompileOnly "org.projectlombok:lombok"
|
||||
testAnnotationProcessor "org.projectlombok:lombok"
|
||||
|
||||
testImplementation "org.springframework.boot:spring-boot-starter-test"
|
||||
|
||||
testCompile group: 'org.mockito', name: 'mockito-all', version: "$mockitoVersion"
|
||||
testCompile group: 'org.powermock', name: 'powermock-api-mockito', version: "$powermockVersion"
|
||||
testCompile group: 'org.powermock', name: 'powermock-module-junit4', version: "$powermockVersion"
|
||||
testImplementation("org.springframework.boot:spring-boot-starter-test") {
|
||||
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
|
||||
}
|
||||
// testImplementation group: 'org.powermock', name: 'powermock-api-mockito2', version: "$powermockApiMockito2"
|
||||
// testImplementation group: 'org.powermock', name: 'powermock-module-junit4', version: "$powermockVersion"
|
||||
|
||||
developmentOnly "org.springframework.boot:spring-boot-devtools"
|
||||
}
|
||||
|
||||
test {
|
||||
useJUnitPlatform()
|
||||
}
|
|
@ -3,9 +3,12 @@ package run.halo.app.aspect;
|
|||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.test.mock.mockito.SpyBean;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
|
@ -31,14 +34,18 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
|||
class DisableOnConditionAspectTest {
|
||||
|
||||
static final String REQUEST_URI = "/api/admin/test/disableOnCondition";
|
||||
|
||||
@Autowired
|
||||
MockMvc mvc;
|
||||
@Autowired
|
||||
|
||||
@SpyBean
|
||||
OptionService optionService;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
optionService.saveProperty(PrimaryProperties.IS_INSTALLED, "true");
|
||||
MockitoAnnotations.initMocks(this);
|
||||
Assertions.assertNotNull(optionService);
|
||||
Mockito.doReturn(true).when(optionService).getByPropertyOrDefault(PrimaryProperties.IS_INSTALLED, Boolean.class, false);
|
||||
}
|
||||
|
||||
@Test()
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
package run.halo.app.aspect;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import run.halo.app.model.entity.PostComment;
|
||||
import run.halo.app.model.entity.User;
|
||||
import run.halo.app.security.authentication.AuthenticationImpl;
|
||||
|
@ -17,44 +14,38 @@ import run.halo.app.service.PostCommentService;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* @author giveup
|
||||
* @description SensitiveConcealAspectTest
|
||||
* @date 1:14 AM 27/5/2020
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
@Slf4j
|
||||
public class SensitiveConcealAspectTest {
|
||||
|
||||
@Disabled("Due to ip address: [0:0:0:0:0:0:0:1]")
|
||||
class SensitiveConcealAspectTest {
|
||||
|
||||
@Autowired
|
||||
private PostCommentService postCommentService;
|
||||
|
||||
PostCommentService postCommentService;
|
||||
|
||||
@Test
|
||||
public void testGuest() {
|
||||
|
||||
void testGuest() {
|
||||
List<PostComment> postComments = postCommentService.listBy(1);
|
||||
for (PostComment postComment : postComments) {
|
||||
Assert.assertEquals("", postComment.getIpAddress());
|
||||
Assert.assertEquals("", postComment.getEmail());
|
||||
assertEquals("", postComment.getIpAddress());
|
||||
assertEquals("", postComment.getEmail());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAdmin() {
|
||||
|
||||
void testAdmin() {
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl(new AuthenticationImpl(new UserDetail(new User()))));
|
||||
|
||||
List<PostComment> postComments = postCommentService.listBy(1);
|
||||
for (PostComment postComment : postComments) {
|
||||
Assert.assertEquals("127.0.0.1", postComment.getIpAddress());
|
||||
Assert.assertEquals("hi@halo.run", postComment.getEmail());
|
||||
assertEquals("127.0.0.1", postComment.getIpAddress());
|
||||
assertEquals("hi@halo.run", postComment.getEmail());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
package run.halo.app.cache;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* CacheStoreTest.
|
||||
|
@ -14,32 +13,32 @@ import static org.junit.Assert.*;
|
|||
* @author johnniang
|
||||
* @date 3/28/19
|
||||
*/
|
||||
public class CacheStoreTest {
|
||||
class CacheStoreTest {
|
||||
|
||||
private AbstractStringCacheStore cacheStore = new InMemoryCacheStore();
|
||||
AbstractStringCacheStore cacheStore = new InMemoryCacheStore();
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void putNullValueTest() {
|
||||
@Test
|
||||
void putNullValueTest() {
|
||||
String key = "test_key";
|
||||
|
||||
cacheStore.put(key, null);
|
||||
assertThrows(IllegalArgumentException.class, () -> cacheStore.put(key, null));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void putNullKeyTest() {
|
||||
@Test
|
||||
void putNullKeyTest() {
|
||||
String value = "test_value";
|
||||
|
||||
cacheStore.put(null, value);
|
||||
assertThrows(IllegalArgumentException.class, () -> cacheStore.put(null, value));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void getByNullKeyTest() {
|
||||
cacheStore.get(null);
|
||||
@Test
|
||||
void getByNullKeyTest() {
|
||||
assertThrows(IllegalArgumentException.class, () -> cacheStore.get(null));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void getNullTest() {
|
||||
void getNullTest() {
|
||||
String key = "test_key";
|
||||
|
||||
Optional<String> valueOptional = cacheStore.get(key);
|
||||
|
@ -48,7 +47,7 @@ public class CacheStoreTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void expirationTest() throws InterruptedException {
|
||||
void expirationTest() throws InterruptedException {
|
||||
String key = "test_key";
|
||||
String value = "test_value";
|
||||
cacheStore.put(key, value, 500, TimeUnit.MILLISECONDS);
|
||||
|
@ -56,7 +55,7 @@ public class CacheStoreTest {
|
|||
Optional<String> valueOptional = cacheStore.get(key);
|
||||
|
||||
assertTrue(valueOptional.isPresent());
|
||||
assertThat(valueOptional.get(), equalTo(value));
|
||||
assertEquals(value, valueOptional.get());
|
||||
|
||||
TimeUnit.SECONDS.sleep(1L);
|
||||
|
||||
|
@ -66,19 +65,19 @@ public class CacheStoreTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void deleteTest() {
|
||||
void deleteTest() {
|
||||
String key = "test_key";
|
||||
String value = "test_value";
|
||||
|
||||
// Put the cache
|
||||
cacheStore.put(key, value);
|
||||
|
||||
// Get the caceh
|
||||
// Get the cache
|
||||
Optional<String> valueOptional = cacheStore.get(key);
|
||||
|
||||
// Assert
|
||||
assertTrue(valueOptional.isPresent());
|
||||
assertThat(valueOptional.get(), equalTo(value));
|
||||
assertEquals(value, valueOptional.get());
|
||||
|
||||
// Delete the cache
|
||||
cacheStore.delete(key);
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
package run.halo.app.cache;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* InMemoryCacheStoreTest.
|
||||
|
@ -15,37 +14,37 @@ import static org.junit.Assert.*;
|
|||
* @author johnniang
|
||||
* @date 3/28/19
|
||||
*/
|
||||
public class InMemoryCacheStoreTest {
|
||||
class InMemoryCacheStoreTest {
|
||||
|
||||
private InMemoryCacheStore cacheStore;
|
||||
InMemoryCacheStore cacheStore;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
cacheStore = new InMemoryCacheStore();
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void putNullValueTest() {
|
||||
@Test
|
||||
void putNullValueTest() {
|
||||
String key = "test_key";
|
||||
|
||||
cacheStore.put(key, null);
|
||||
assertThrows(IllegalArgumentException.class, () -> cacheStore.put(key, null));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void putNullKeyTest() {
|
||||
@Test
|
||||
void putNullKeyTest() {
|
||||
String value = "test_value";
|
||||
|
||||
cacheStore.put(null, value);
|
||||
assertThrows(IllegalArgumentException.class, () -> cacheStore.put(null, value));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void getByNullKeyTest() {
|
||||
cacheStore.get(null);
|
||||
@Test
|
||||
void getByNullKeyTest() {
|
||||
assertThrows(IllegalArgumentException.class, () -> cacheStore.get(null));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void getNullTest() {
|
||||
void getNullTest() {
|
||||
String key = "test_key";
|
||||
|
||||
Optional<String> valueOptional = cacheStore.get(key);
|
||||
|
@ -54,7 +53,7 @@ public class InMemoryCacheStoreTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void expirationTest() throws InterruptedException {
|
||||
void expirationTest() throws InterruptedException {
|
||||
String key = "test_key";
|
||||
String value = "test_value";
|
||||
cacheStore.put(key, value, 500, TimeUnit.MILLISECONDS);
|
||||
|
@ -62,7 +61,7 @@ public class InMemoryCacheStoreTest {
|
|||
Optional<String> valueOptional = cacheStore.get(key);
|
||||
|
||||
assertTrue(valueOptional.isPresent());
|
||||
assertThat(valueOptional.get(), equalTo(value));
|
||||
assertEquals(value, valueOptional.get());
|
||||
|
||||
TimeUnit.SECONDS.sleep(1L);
|
||||
|
||||
|
@ -72,7 +71,7 @@ public class InMemoryCacheStoreTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void deleteTest() {
|
||||
void deleteTest() {
|
||||
String key = "test_key";
|
||||
String value = "test_value";
|
||||
|
||||
|
@ -84,7 +83,7 @@ public class InMemoryCacheStoreTest {
|
|||
|
||||
// Assert
|
||||
assertTrue(valueOptional.isPresent());
|
||||
assertThat(valueOptional.get(), equalTo(value));
|
||||
assertEquals(value, valueOptional.get());
|
||||
|
||||
// Delete the cache
|
||||
cacheStore.delete(key);
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
package run.halo.app.conf;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.util.AntPathMatcher;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* Ant path matcher test.
|
||||
*
|
||||
* @author johnniang
|
||||
*/
|
||||
public class AntPathMatcherTest {
|
||||
class AntPathMatcherTest {
|
||||
|
||||
private final AntPathMatcher pathMatcher = new AntPathMatcher();
|
||||
final AntPathMatcher pathMatcher = new AntPathMatcher();
|
||||
|
||||
@Test
|
||||
public void matchTest() {
|
||||
Assert.assertFalse(pathMatcher.match("/admin/?*/**", "/admin"));
|
||||
Assert.assertFalse(pathMatcher.match("/admin/?*/**", "/admin/"));
|
||||
void matchTest() {
|
||||
assertFalse(pathMatcher.match("/admin/?*/**", "/admin"));
|
||||
assertFalse(pathMatcher.match("/admin/?*/**", "/admin/"));
|
||||
|
||||
Assert.assertTrue(pathMatcher.match("/admin/?*/**", "/admin/index.html"));
|
||||
Assert.assertTrue(pathMatcher.match("/admin/?*/**", "/admin/index.html/more"));
|
||||
assertTrue(pathMatcher.match("/admin/?*/**", "/admin/index.html"));
|
||||
assertTrue(pathMatcher.match("/admin/?*/**", "/admin/index.html/more"));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,8 @@ package run.halo.app.handler.theme;
|
|||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import run.halo.app.handler.theme.config.support.ThemeProperty;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -13,12 +14,15 @@ import java.io.IOException;
|
|||
* @date 4/11/19
|
||||
*/
|
||||
@Slf4j
|
||||
public class YamlThemePropertyResolverTest {
|
||||
class YamlThemePropertyResolverTest {
|
||||
|
||||
private final ObjectMapper yamlMapper = new ObjectMapper(new YAMLFactory());
|
||||
final ObjectMapper yamlMapper = new ObjectMapper(new YAMLFactory());
|
||||
|
||||
@Test
|
||||
public void directResolveTest() throws IOException {
|
||||
void directResolveTest() throws IOException {
|
||||
ThemeProperty themeProperty = new ThemeProperty();
|
||||
themeProperty.setId("viosey_material");
|
||||
|
||||
String yaml = "id: viosey_material\n" +
|
||||
"name: Material\n" +
|
||||
"author:\n" +
|
||||
|
@ -29,8 +33,9 @@ public class YamlThemePropertyResolverTest {
|
|||
"website: https://github.com/viosey/hexo-theme-material\n" +
|
||||
"version: 1.0";
|
||||
|
||||
ThemeProperty themeProperty = yamlMapper.readValue(yaml, ThemeProperty.class);
|
||||
|
||||
ThemeProperty themePropertyResult = yamlMapper.readValue(yaml, ThemeProperty.class);
|
||||
log.debug("[{}]", themeProperty);
|
||||
|
||||
Assertions.assertEquals(themeProperty, themePropertyResult);
|
||||
}
|
||||
}
|
|
@ -1,36 +1,34 @@
|
|||
package run.halo.app.model;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.http.MediaType;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* @author johnniang
|
||||
* @date 3/26/19
|
||||
*/
|
||||
@Slf4j
|
||||
public class MediaTypeTest {
|
||||
class MediaTypeTest {
|
||||
|
||||
@Test
|
||||
public void toStringTest() {
|
||||
void toStringTest() {
|
||||
MediaType mediaType = MediaType.IMAGE_GIF;
|
||||
|
||||
assertThat(mediaType.toString(), equalTo("image/gif"));
|
||||
assertEquals("image/gif", mediaType.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseTest() {
|
||||
void parseTest() {
|
||||
MediaType mediaType = MediaType.valueOf("image/gif");
|
||||
|
||||
assertNotNull(mediaType);
|
||||
assertThat(mediaType, equalTo(MediaType.IMAGE_GIF));
|
||||
assertEquals(MediaType.IMAGE_GIF, mediaType);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void includesTest() {
|
||||
void includesTest() {
|
||||
MediaType mediaType = MediaType.valueOf("image/*");
|
||||
boolean isInclude = mediaType.includes(MediaType.IMAGE_GIF);
|
||||
assertTrue(isInclude);
|
||||
|
|
|
@ -1,47 +1,47 @@
|
|||
package run.halo.app.model.dto.base;
|
||||
|
||||
import lombok.*;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
public class InputConverterTest {
|
||||
class InputConverterTest {
|
||||
|
||||
@Test
|
||||
public void convertToTest() {
|
||||
void convertToTest() {
|
||||
TestInputDTO inputDTO = new TestInputDTO("test_name");
|
||||
|
||||
TestDomain domain = inputDTO.convertTo();
|
||||
assertThat(domain.getName(), equalTo("test_name"));
|
||||
|
||||
assertEquals("test_name", domain.getName());
|
||||
assertNull(domain.getAge());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateTest() {
|
||||
void updateTest() {
|
||||
TestInputDTO inputDTO = new TestInputDTO("test_input_dto_name");
|
||||
|
||||
TestDomain domain = new TestDomain("test_domain_name", 10);
|
||||
|
||||
inputDTO.update(domain);
|
||||
|
||||
assertThat(domain.getName(), equalTo("test_input_dto_name"));
|
||||
assertThat(domain.getAge(), equalTo(10));
|
||||
assertEquals("test_input_dto_name", domain.getName());
|
||||
assertEquals(10, domain.getAge());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void subConvertToTest() {
|
||||
void subConvertToTest() {
|
||||
SubTestInputDTO subTestInputDTO = new SubTestInputDTO();
|
||||
subTestInputDTO.setName("test_name");
|
||||
subTestInputDTO.setAge(10);
|
||||
|
||||
TestDomain domain = subTestInputDTO.convertTo();
|
||||
|
||||
assertThat(domain.getName(), equalTo("test_name"));
|
||||
assertThat(domain.getAge(), equalTo(10));
|
||||
assertEquals("test_name", domain.getName());
|
||||
assertEquals(10, domain.getAge());
|
||||
}
|
||||
|
||||
@Data
|
||||
|
@ -61,7 +61,7 @@ public class InputConverterTest {
|
|||
@EqualsAndHashCode
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class TestInputDTO implements InputConverter<TestDomain>, Serializable {
|
||||
static class TestInputDTO implements InputConverter<TestDomain>, Serializable {
|
||||
|
||||
private String name;
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ public class InputConverterTest {
|
|||
@EqualsAndHashCode(callSuper = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SubTestInputDTO extends TestInputDTO {
|
||||
static class SubTestInputDTO extends TestInputDTO {
|
||||
|
||||
private Integer age;
|
||||
}
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
package run.halo.app.model.dto.base;
|
||||
|
||||
import lombok.*;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* Output converter test.
|
||||
*
|
||||
* @author johnniang
|
||||
*/
|
||||
public class OutputConverterTest {
|
||||
class OutputConverterTest {
|
||||
|
||||
@Test
|
||||
public void convertFromTest() {
|
||||
void convertFromTest() {
|
||||
TestDomain domain = new TestDomain("test_domain_name", 10);
|
||||
|
||||
TestOutputDTO testOutputDTO = new TestOutputDTO().convertFrom(domain);
|
||||
|
||||
assertThat(testOutputDTO.getName(), equalTo("test_domain_name"));
|
||||
assertEquals("test_domain_name", testOutputDTO.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertFromSubTest() {
|
||||
void convertFromSubTest() {
|
||||
TestDomain domain = new TestDomain("test_domain_name", 10);
|
||||
|
||||
SubTestOutputDTO subTestOutputDTO = new SubTestOutputDTO().convertFrom(domain);
|
||||
|
||||
assertThat(subTestOutputDTO.getName(), equalTo("test_domain_name"));
|
||||
assertThat(subTestOutputDTO.getAge(), equalTo(10));
|
||||
assertEquals("test_domain_name", subTestOutputDTO.getName());
|
||||
assertEquals(10, subTestOutputDTO.getAge());
|
||||
}
|
||||
|
||||
@Data
|
||||
|
@ -37,7 +36,7 @@ public class OutputConverterTest {
|
|||
@EqualsAndHashCode
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class TestDomain {
|
||||
static class TestDomain {
|
||||
|
||||
private String name;
|
||||
|
||||
|
@ -49,7 +48,7 @@ public class OutputConverterTest {
|
|||
@EqualsAndHashCode
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class TestOutputDTO implements OutputConverter<TestOutputDTO, TestDomain> {
|
||||
static class TestOutputDTO implements OutputConverter<TestOutputDTO, TestDomain> {
|
||||
|
||||
private String name;
|
||||
}
|
||||
|
@ -59,7 +58,7 @@ public class OutputConverterTest {
|
|||
@EqualsAndHashCode(callSuper = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SubTestOutputDTO extends TestOutputDTO {
|
||||
static class SubTestOutputDTO extends TestOutputDTO {
|
||||
private Integer age;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,34 +1,29 @@
|
|||
package run.halo.app.model.enums;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.convert.ConversionService;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
|
||||
/**
|
||||
* Attach origin test.
|
||||
*
|
||||
* @author johnniang
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
public class AttachmentTypeTest {
|
||||
class AttachmentTypeTest {
|
||||
|
||||
@Autowired
|
||||
private ConversionService conversionService;
|
||||
ConversionService conversionService;
|
||||
|
||||
@Test
|
||||
public void conversionTest() {
|
||||
assertThat(conversionService.convert("LOCAL", AttachmentType.class), equalTo(AttachmentType.LOCAL));
|
||||
assertThat(conversionService.convert("local", AttachmentType.class), equalTo(AttachmentType.LOCAL));
|
||||
assertThat(conversionService.convert("Local", AttachmentType.class), equalTo(AttachmentType.LOCAL));
|
||||
assertThat(conversionService.convert("LoCal", AttachmentType.class), equalTo(AttachmentType.LOCAL));
|
||||
void conversionTest() {
|
||||
Assertions.assertEquals(AttachmentType.LOCAL, conversionService.convert("LOCAL", AttachmentType.class));
|
||||
Assertions.assertEquals(AttachmentType.LOCAL, conversionService.convert("local", AttachmentType.class));
|
||||
Assertions.assertEquals(AttachmentType.LOCAL, conversionService.convert("Local", AttachmentType.class));
|
||||
Assertions.assertEquals(AttachmentType.LOCAL, conversionService.convert("LoCal", AttachmentType.class));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
package run.halo.app.model.enums;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* Data type test.
|
||||
|
@ -13,12 +12,11 @@ import static org.junit.Assert.assertThat;
|
|||
* @date 19-4-21
|
||||
*/
|
||||
@Slf4j
|
||||
public class DataTypeTest {
|
||||
class DataTypeTest {
|
||||
|
||||
@Test
|
||||
public void typeOf() {
|
||||
void typeOf() {
|
||||
DataType type = DataType.typeOf("bool");
|
||||
log.debug("[{}]", type);
|
||||
assertThat(type, equalTo(DataType.BOOL));
|
||||
assertEquals(DataType.BOOL, type);
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
package run.halo.app.model.params;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import run.halo.app.model.support.CreateCheck;
|
||||
|
||||
import javax.validation.ConstraintViolation;
|
||||
|
@ -9,38 +9,39 @@ import javax.validation.Validation;
|
|||
import javax.validation.Validator;
|
||||
import java.util.Set;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* @author johnniang
|
||||
* @date 19-6-1
|
||||
*/
|
||||
@Slf4j
|
||||
public class InstallParamTest {
|
||||
class InstallParamTest {
|
||||
|
||||
private final Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
||||
final Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
|
||||
|
||||
@Test
|
||||
public void createCheckTest() {
|
||||
void createCheckTest() {
|
||||
InstallParam installParam = new InstallParam();
|
||||
|
||||
Set<ConstraintViolation<InstallParam>> constraintViolations = validator.validate(installParam, CreateCheck.class);
|
||||
assertThat(constraintViolations.size(), equalTo(4));
|
||||
assertEquals(4, constraintViolations.size());
|
||||
|
||||
printMessage(constraintViolations);
|
||||
|
||||
installParam.setEmail("test");
|
||||
constraintViolations = validator.validate(installParam, CreateCheck.class);
|
||||
assertThat(constraintViolations.size(), equalTo(4));
|
||||
assertEquals(4, constraintViolations.size());
|
||||
|
||||
printMessage(constraintViolations);
|
||||
|
||||
installParam.setEmail("test@test.com");
|
||||
constraintViolations = validator.validate(installParam, CreateCheck.class);
|
||||
assertThat(constraintViolations.size(), equalTo(3));
|
||||
assertEquals(3, constraintViolations.size());
|
||||
printMessage(constraintViolations);
|
||||
}
|
||||
|
||||
private void printMessage(Set<ConstraintViolation<InstallParam>> constraintViolations) {
|
||||
void printMessage(Set<ConstraintViolation<InstallParam>> constraintViolations) {
|
||||
if (constraintViolations == null) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package run.halo.app.model.properties;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -10,10 +10,10 @@ import java.util.Map;
|
|||
* @date 19-4-25
|
||||
*/
|
||||
@Slf4j
|
||||
public class PropertyEnumTest {
|
||||
class PropertyEnumTest {
|
||||
|
||||
@Test
|
||||
public void getValuePropertyMapTest() {
|
||||
void getValuePropertyMapTest() {
|
||||
Map<String, PropertyEnum> result = PropertyEnum.getValuePropertyEnumMap();
|
||||
|
||||
log.debug(result.toString());
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
package run.halo.app.repository;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import run.halo.app.model.entity.Sheet;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -17,17 +15,16 @@ import java.util.List;
|
|||
* @author johnniang
|
||||
* @date 3/22/19
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
@Slf4j
|
||||
public class SheetRepositoryTest {
|
||||
class SheetRepositoryTest {
|
||||
|
||||
@Autowired
|
||||
private SheetRepository sheetRepository;
|
||||
SheetRepository sheetRepository;
|
||||
|
||||
@Test
|
||||
public void listAllTest() {
|
||||
void listAllTest() {
|
||||
List<Sheet> allSheets = sheetRepository.findAll();
|
||||
log.debug("{}", allSheets);
|
||||
}
|
||||
|
|
|
@ -22,8 +22,10 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
|||
class OneTimeTokenTest {
|
||||
|
||||
static final String REQUEST_URI = "/api/admin/counts";
|
||||
|
||||
@Autowired
|
||||
MockMvc mvc;
|
||||
|
||||
@Autowired
|
||||
OneTimeTokenService oneTimeTokenService;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package run.halo.app.service;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.util.ResourceUtils;
|
||||
import run.halo.app.utils.JsonUtils;
|
||||
|
||||
|
@ -13,18 +13,18 @@ import java.nio.file.Path;
|
|||
import java.nio.file.Paths;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* @author johnniang
|
||||
* @date 19-4-26
|
||||
*/
|
||||
@Slf4j
|
||||
public class RecoveryServiceTest {
|
||||
class RecoveryServiceTest {
|
||||
|
||||
@Test
|
||||
public void getMigrationFileContent() throws IOException, URISyntaxException {
|
||||
void getMigrationFileContent() throws IOException, URISyntaxException {
|
||||
String migrationContent = getMigrationContent();
|
||||
|
||||
assertNotNull(migrationContent);
|
||||
|
@ -32,7 +32,7 @@ public class RecoveryServiceTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void resolveMigrationContent() throws IOException, URISyntaxException {
|
||||
void resolveMigrationContent() throws IOException, URISyntaxException {
|
||||
String migrationContent = getMigrationContent();
|
||||
|
||||
Object migrationObject = JsonUtils.jsonToObject(migrationContent, Object.class);
|
||||
|
@ -47,7 +47,7 @@ public class RecoveryServiceTest {
|
|||
}
|
||||
}
|
||||
|
||||
private String getMigrationContent() throws IOException, URISyntaxException {
|
||||
String getMigrationContent() throws IOException, URISyntaxException {
|
||||
URL migrationUrl = ResourceUtils.getURL(ResourceUtils.CLASSPATH_URL_PREFIX + "migration-test.json");
|
||||
|
||||
Path path = Paths.get(migrationUrl.toURI());
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package run.halo.app.service.impl;
|
||||
|
||||
import com.qiniu.common.Zone;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import run.halo.app.cache.AbstractStringCacheStore;
|
||||
import run.halo.app.model.entity.Option;
|
||||
import run.halo.app.model.properties.QiniuOssProperties;
|
||||
|
@ -16,9 +16,8 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.BDDMockito.then;
|
||||
|
||||
|
@ -28,58 +27,62 @@ import static org.mockito.BDDMockito.then;
|
|||
* @author johnniang
|
||||
* @date 3/22/19
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class OptionServiceImplTest {
|
||||
class OptionServiceImplTest {
|
||||
|
||||
@Mock
|
||||
private OptionRepository optionRepository;
|
||||
OptionRepository optionRepository;
|
||||
|
||||
@Mock
|
||||
private AbstractStringCacheStore cacheStore;
|
||||
AbstractStringCacheStore cacheStore;
|
||||
|
||||
@InjectMocks
|
||||
private OptionServiceImpl optionService;
|
||||
OptionServiceImpl optionService;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getQiniuAutoZoneTest() {
|
||||
void getQiniuAutoZoneTest() {
|
||||
getQiniuZoneTest("", Zone.autoZone());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getQiniuAutoZoneOfNullOptionTest() {
|
||||
void getQiniuAutoZoneOfNullOptionTest() {
|
||||
getQiniuZoneTest(Zone.autoZone(), null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getQiniuZ0ZoneTest() {
|
||||
void getQiniuZ0ZoneTest() {
|
||||
getQiniuZoneTest("z0", Zone.zone0());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getQiniuZ1ZoneTest() {
|
||||
void getQiniuZ1ZoneTest() {
|
||||
getQiniuZoneTest("z1", Zone.zone1());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getQiniuZ2ZoneTest() {
|
||||
void getQiniuZ2ZoneTest() {
|
||||
getQiniuZoneTest("z2", Zone.zone2());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getQiniuAs0ZoneTest() {
|
||||
void getQiniuAs0ZoneTest() {
|
||||
getQiniuZoneTest("as0", Zone.zoneAs0());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getQiniuNa0ZoneTest() {
|
||||
void getQiniuNa0ZoneTest() {
|
||||
getQiniuZoneTest("na0", Zone.zoneNa0());
|
||||
}
|
||||
|
||||
private void getQiniuZoneTest(String region, Zone actualZone) {
|
||||
void getQiniuZoneTest(String region, Zone actualZone) {
|
||||
getQiniuZoneTest(actualZone, new Option("", region));
|
||||
}
|
||||
|
||||
private void getQiniuZoneTest(Zone actualZone, Option option) {
|
||||
void getQiniuZoneTest(Zone actualZone, Option option) {
|
||||
QiniuOssProperties zoneProperty = QiniuOssProperties.OSS_ZONE;
|
||||
|
||||
// Given
|
||||
|
@ -95,6 +98,6 @@ public class OptionServiceImplTest {
|
|||
then(cacheStore).should().getAny(OptionService.OPTIONS_KEY, Map.class);
|
||||
|
||||
assertNotNull(zone);
|
||||
assertThat(zone.getRegion(), equalTo(actualZone.getRegion()));
|
||||
assertEquals(actualZone.getRegion(), zone.getRegion());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,16 @@
|
|||
package run.halo.app.service.impl;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
@Slf4j
|
||||
public class PostServiceImplTest {
|
||||
@Disabled("Due to spring boot context needed")
|
||||
class PostServiceImplTest {
|
||||
|
||||
private String standardMdContent = "---\n" +
|
||||
String standardMdContent = "---\n" +
|
||||
"title: springfox-swagger2配置成功但无法访问/swagger-ui.html\n" +
|
||||
"tags:\n" +
|
||||
" - spring boot\n" +
|
||||
|
@ -29,7 +23,7 @@ public class PostServiceImplTest {
|
|||
"\n" +
|
||||
"在前后端分离项目中,通常需要用到 API 文档,springfox 开发的 **[SpringFox](https://github.com/springfox/springfox)** 可以实现自动化 json API 文档。";
|
||||
|
||||
private String nonStandardMdContent = "---\n" +
|
||||
String nonStandardMdContent = "---\n" +
|
||||
"title: Basic concepts of JPA\n" +
|
||||
"date: 2018-08-03 11:57:00\n" +
|
||||
"tags: ['spring', 'jpa', 'database', 'concept']\n" +
|
||||
|
@ -38,18 +32,17 @@ public class PostServiceImplTest {
|
|||
"以下将讲解关系型数据的关系描述。仅仅是作为总结。";
|
||||
|
||||
@Autowired
|
||||
private PostServiceImpl postService;
|
||||
PostServiceImpl postService;
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getContent() {
|
||||
void getContent() {
|
||||
String exportMarkdown = postService.exportMarkdown(18);
|
||||
log.debug(exportMarkdown);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Transactional
|
||||
public void markdownImportTest() {
|
||||
void markdownImportTest() {
|
||||
postService.importMarkdown(standardMdContent, "standard");
|
||||
postService.importMarkdown(nonStandardMdContent, "nonStandard");
|
||||
}
|
||||
|
|
|
@ -1,130 +1,110 @@
|
|||
package run.halo.app.service.impl;
|
||||
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.*;
|
||||
import org.powermock.api.mockito.PowerMockito;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
import org.springframework.context.ApplicationEventPublisher;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import run.halo.app.cache.AbstractStringCacheStore;
|
||||
import run.halo.app.config.properties.HaloProperties;
|
||||
import run.halo.app.handler.theme.config.ThemeConfigResolver;
|
||||
import run.halo.app.handler.theme.config.support.ThemeProperty;
|
||||
import run.halo.app.service.OptionService;
|
||||
import run.halo.app.utils.FileUtils;
|
||||
import run.halo.app.utils.GitUtils;
|
||||
import run.halo.app.utils.GithubUtils;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
|
||||
@RunWith(PowerMockRunner.class)
|
||||
@PrepareForTest({GitUtils.class, GithubUtils.class, FileUtils.class, ThemeServiceImpl.class})
|
||||
public class ThemeServiceImplTest {
|
||||
|
||||
@Mock
|
||||
private HaloProperties haloProperties;
|
||||
|
||||
@Mock
|
||||
private OptionService optionService;
|
||||
|
||||
@Mock
|
||||
private AbstractStringCacheStore cacheStore;
|
||||
|
||||
@Mock
|
||||
private ThemeConfigResolver themeConfigResolver;
|
||||
|
||||
@Mock
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
@Mock
|
||||
private ApplicationEventPublisher eventPublisher;
|
||||
|
||||
@InjectMocks
|
||||
public ThemeServiceImpl themeService;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
//Static Method
|
||||
PowerMockito.mockStatic(GithubUtils.class);
|
||||
PowerMockito.mockStatic(GitUtils.class);
|
||||
PowerMockito.mockStatic(FileUtils.class);
|
||||
|
||||
PowerMockito.doReturn(Arrays.asList("master", "dev")).when(GitUtils.class, "getAllBranches", Mockito.any(String.class));
|
||||
PowerMockito.doNothing().when(GitUtils.class, "cloneFromGit", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
|
||||
PowerMockito.doReturn("propertyContent").when(GithubUtils.class, "accessThemeProperty", Mockito.any(String.class), Mockito.any(String.class));
|
||||
|
||||
PowerMockito.doReturn(new File("tmpPath").toPath()).when(FileUtils.class, "createTempDirectory");
|
||||
PowerMockito.doNothing().when(FileUtils.class, "deleteFolderQuietly", Mockito.any(Path.class));
|
||||
|
||||
//Method
|
||||
themeService = PowerMockito.spy(new ThemeServiceImpl(haloProperties, optionService, cacheStore, themeConfigResolver, restTemplate, eventPublisher));
|
||||
|
||||
Mockito.doNothing().when(eventPublisher).publishEvent(Mockito.any(String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fetchGitTest() throws Exception {
|
||||
String uri = "https://github.com/halo-dev/halo-theme-pinghsu";
|
||||
PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
ThemeProperty themeProperty = themeService.fetch(uri);
|
||||
Assert.assertNotNull(themeProperty);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fetchZipTest() throws Exception {
|
||||
String uri = "https://github.com/halo-dev/halo-theme-pinghsu/archive/master.zip";
|
||||
PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
ThemeProperty themeProperty = themeService.fetch(uri);
|
||||
Assert.assertNotNull(themeProperty);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fetchBranchesTest() {
|
||||
String uri = "https://github.com/halo-dev/halo-theme-hux";
|
||||
|
||||
List<ThemeProperty> themeProperties = themeService.fetchBranches(uri);
|
||||
|
||||
Assert.assertNotNull(themeProperties);
|
||||
Assert.assertEquals(themeProperties.size(), 2);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void fetchBranchTest() throws Exception {
|
||||
String uri = "https://github.com/halo-dev/halo-theme-casper";
|
||||
String branch = "master";
|
||||
PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
ThemeProperty themeProperty = themeService.fetchBranch(uri, branch);
|
||||
Assert.assertNotNull(themeProperty);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fetchLatestReleaseTest() throws Exception {
|
||||
String uri = "https://github.com/halo-dev/halo-theme-casper";
|
||||
PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
ThemeProperty themeProperty = themeService.fetchLatestRelease(uri);
|
||||
Assert.assertNotNull(themeProperty);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateTest() throws Exception {
|
||||
PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
PowerMockito.doNothing().when(themeService, "pullFromGit", Mockito.any(ThemeProperty.class));
|
||||
PowerMockito.doReturn(new ThemeProperty()).when(themeService, "getThemeOfNonNullBy", Mockito.any(String.class));
|
||||
ThemeProperty themeProperty = themeService.update("String");
|
||||
Assert.assertNotNull(themeProperty);
|
||||
}
|
||||
//@RunWith(PowerMockRunner.class)
|
||||
//@PrepareForTest({GitUtils.class, GithubUtils.class, FileUtils.class, ThemeServiceImpl.class})
|
||||
@Disabled("Due to power mockito dependency")
|
||||
class ThemeServiceImplTest {
|
||||
//
|
||||
// @Mock
|
||||
// HaloProperties haloProperties;
|
||||
//
|
||||
// @Mock
|
||||
// OptionService optionService;
|
||||
//
|
||||
// @Mock
|
||||
// AbstractStringCacheStore cacheStore;
|
||||
//
|
||||
// @Mock
|
||||
// ThemeConfigResolver themeConfigResolver;
|
||||
//
|
||||
// @Mock
|
||||
// RestTemplate restTemplate;
|
||||
//
|
||||
// @Mock
|
||||
// ApplicationEventPublisher eventPublisher;
|
||||
//
|
||||
// @InjectMocks
|
||||
// ThemeServiceImpl themeService;
|
||||
//
|
||||
// @BeforeEach
|
||||
// void setUp() throws Exception {
|
||||
// //Static Method
|
||||
// PowerMockito.mockStatic(GithubUtils.class);
|
||||
// PowerMockito.mockStatic(GitUtils.class);
|
||||
// PowerMockito.mockStatic(FileUtils.class);
|
||||
//
|
||||
// PowerMockito.doReturn(Arrays.asList("master", "dev")).when(GitUtils.class, "getAllBranches", Mockito.any(String.class));
|
||||
// PowerMockito.doNothing().when(GitUtils.class, "cloneFromGit", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
//
|
||||
// PowerMockito.doReturn("propertyContent").when(GithubUtils.class, "accessThemeProperty", Mockito.any(String.class), Mockito.any(String.class));
|
||||
//
|
||||
// PowerMockito.doReturn(new File("tmpPath").toPath()).when(FileUtils.class, "createTempDirectory");
|
||||
// PowerMockito.doNothing().when(FileUtils.class, "deleteFolderQuietly", Mockito.any(Path.class));
|
||||
//
|
||||
// //Method
|
||||
// themeService = PowerMockito.spy(new ThemeServiceImpl(haloProperties, optionService, cacheStore, themeConfigResolver, restTemplate, eventPublisher));
|
||||
//
|
||||
// Mockito.doNothing().when(eventPublisher).publishEvent(Mockito.any(String.class));
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void fetchGitTest() throws Exception {
|
||||
// String uri = "https://github.com/halo-dev/halo-theme-pinghsu";
|
||||
// PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
// PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
// ThemeProperty themeProperty = themeService.fetch(uri);
|
||||
// Assertions.assertNotNull(themeProperty);
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void fetchZipTest() throws Exception {
|
||||
// String uri = "https://github.com/halo-dev/halo-theme-pinghsu/archive/master.zip";
|
||||
// PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
// PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
// ThemeProperty themeProperty = themeService.fetch(uri);
|
||||
// Assertions.assertNotNull(themeProperty);
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void fetchBranchesTest() {
|
||||
// String uri = "https://github.com/halo-dev/halo-theme-hux";
|
||||
//
|
||||
// List<ThemeProperty> themeProperties = themeService.fetchBranches(uri);
|
||||
//
|
||||
// Assertions.assertNotNull(themeProperties);
|
||||
// Assertions.assertEquals(themeProperties.size(), 2);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// @Test
|
||||
// void fetchBranchTest() throws Exception {
|
||||
// String uri = "https://github.com/halo-dev/halo-theme-casper";
|
||||
// String branch = "master";
|
||||
// PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
// PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
// ThemeProperty themeProperty = themeService.fetchBranch(uri, branch);
|
||||
// Assertions.assertNotNull(themeProperty);
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void fetchLatestReleaseTest() throws Exception {
|
||||
// String uri = "https://github.com/halo-dev/halo-theme-casper";
|
||||
// PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
// PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
// ThemeProperty themeProperty = themeService.fetchLatestRelease(uri);
|
||||
// Assertions.assertNotNull(themeProperty);
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// void updateTest() throws Exception {
|
||||
// PowerMockito.doNothing().when(themeService, "downloadZipAndUnzip", Mockito.any(String.class), Mockito.any(Path.class));
|
||||
// PowerMockito.doReturn(new ThemeProperty()).when(themeService, "add", Mockito.any(Path.class));
|
||||
// PowerMockito.doNothing().when(themeService, "pullFromGit", Mockito.any(ThemeProperty.class));
|
||||
// PowerMockito.doReturn(new ThemeProperty()).when(themeService, "getThemeOfNonNullBy", Mockito.any(String.class));
|
||||
// ThemeProperty themeProperty = themeService.update("String");
|
||||
// Assertions.assertNotNull(themeProperty);
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package run.halo.app.service.support;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
@ -11,10 +11,10 @@ import java.net.URISyntaxException;
|
|||
* @date 19-4-19
|
||||
*/
|
||||
@Slf4j
|
||||
public class HaloMediaTypeTest {
|
||||
class HaloMediaTypeTest {
|
||||
|
||||
@Test
|
||||
public void gitUrlCheckTest() throws URISyntaxException {
|
||||
void gitUrlCheckTest() throws URISyntaxException {
|
||||
String git = "https://github.com/halo-dev/halo.git";
|
||||
|
||||
URI uri = new URI(git);
|
||||
|
|
|
@ -2,7 +2,7 @@ package run.halo.app.utils;
|
|||
|
||||
import cn.hutool.crypto.digest.BCrypt;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* BCrypt test.
|
||||
|
@ -11,10 +11,10 @@ import org.junit.Test;
|
|||
* @date 3/28/19
|
||||
*/
|
||||
@Slf4j
|
||||
public class BcryptTest {
|
||||
class BcryptTest {
|
||||
|
||||
@Test
|
||||
public void cryptTest() {
|
||||
void cryptTest() {
|
||||
String cryptPassword = BCrypt.hashpw("opentest", BCrypt.gensalt());
|
||||
log.debug("Crypt password: [{}]", cryptPassword);
|
||||
}
|
||||
|
|
|
@ -3,23 +3,23 @@ package run.halo.app.utils;
|
|||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
/**
|
||||
* BeanUtils test.
|
||||
*
|
||||
* @author johnniang
|
||||
*/
|
||||
public class BeanUtilsTest {
|
||||
class BeanUtilsTest {
|
||||
|
||||
@Test
|
||||
public void transformFrom() {
|
||||
void transformFrom() {
|
||||
TestA a = new TestA(1, 2);
|
||||
|
||||
TestC c = BeanUtils.transformFrom(a, TestC.class);
|
||||
|
@ -36,7 +36,7 @@ public class BeanUtilsTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void transformFromInBatch() {
|
||||
void transformFromInBatch() {
|
||||
TestA[] as = {
|
||||
new TestA(1, 2),
|
||||
new TestA(3, 4)
|
||||
|
@ -60,7 +60,7 @@ public class BeanUtilsTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void updateProperties() {
|
||||
void updateProperties() {
|
||||
TestA a = new TestA(1, 2);
|
||||
TestB b = new TestB(3, 4);
|
||||
TestC c = new TestC(5, 6);
|
||||
|
|
|
@ -1,156 +1,155 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.time.*;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* DateTimeUtils 测试用例
|
||||
*
|
||||
* @author LeiXinXin
|
||||
* @date 2020/1/9
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
public class DateTimeUtilsTest {
|
||||
class DateTimeUtilsTest {
|
||||
/**
|
||||
* 获取上海时区的当前时间
|
||||
*/
|
||||
@Test
|
||||
public void nowTest() {
|
||||
void nowTest() {
|
||||
final LocalDateTime now = DateTimeUtils.now().withNano(0);
|
||||
Assert.assertNotNull(now);
|
||||
assertNotNull(now);
|
||||
final LocalDateTime ctt = DateTimeUtils.now(ZoneId.of(ZoneId.SHORT_IDS.get("CTT"))).withNano(0);
|
||||
Assert.assertNotNull(ctt);
|
||||
assertNotNull(ctt);
|
||||
|
||||
Assert.assertEquals(Duration.between(now, ctt).toMinutes(), 0);
|
||||
assertEquals(0, Duration.between(now, ctt).toMinutes());
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化日期时间
|
||||
*/
|
||||
@Test
|
||||
public void formatTest() {
|
||||
void formatTest() {
|
||||
final LocalDateTime now = LocalDateTime.of(2020, 1, 9, 20, 20, 20);
|
||||
final String formatDate = DateTimeUtils.formatDate(now);
|
||||
Assert.assertEquals(formatDate, "20200109");
|
||||
assertEquals("20200109", formatDate);
|
||||
|
||||
final LocalDate localDate = LocalDate.of(2020, 1, 9);
|
||||
final String localFormatDate = DateTimeUtils.formatDate(localDate);
|
||||
Assert.assertEquals(localFormatDate, "20200109");
|
||||
assertEquals("20200109", localFormatDate);
|
||||
|
||||
final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
|
||||
final String formatDateTime1 = DateTimeUtils.format(now, dateTimeFormatter);
|
||||
Assert.assertEquals(formatDateTime1, "2020/01/09");
|
||||
assertEquals("2020/01/09", formatDateTime1);
|
||||
|
||||
final LocalTime time1 = LocalTime.of(10, 20);
|
||||
final String formatTime = DateTimeUtils.formatTime(time1);
|
||||
Assert.assertEquals(formatTime, "1020");
|
||||
assertEquals("1020", formatTime);
|
||||
|
||||
final String formatTime1 = DateTimeUtils.format(time1, DateTimeFormatter.ofPattern("HH:mm"));
|
||||
Assert.assertEquals(formatTime1, "10:20");
|
||||
assertEquals("10:20", formatTime1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 增加时间
|
||||
*/
|
||||
@Test
|
||||
public void plusTest() {
|
||||
void plusTest() {
|
||||
final LocalDateTime now = LocalDateTime.of(2020, 1, 9, 10, 20);
|
||||
final LocalDateTime localDateTime = DateTimeUtils.plusOneMinute(now);
|
||||
Assert.assertEquals(localDateTime.toString(), "2020-01-09T10:21");
|
||||
assertEquals("2020-01-09T10:21", localDateTime.toString());
|
||||
|
||||
LocalTime localTime = LocalTime.of(7, 30);
|
||||
final LocalDateTime localDateTime1 = DateTimeUtils.plusOneMinute(now, localTime);
|
||||
Assert.assertEquals(localDateTime1.toString(), "2020-01-09T07:31");
|
||||
assertEquals("2020-01-09T07:31", localDateTime1.toString());
|
||||
|
||||
|
||||
final LocalDate date = LocalDate.of(2020, 1, 3);
|
||||
final LocalDateTime localDateTime2 = DateTimeUtils.plusOneMinute(date, localTime);
|
||||
Assert.assertEquals(localDateTime2.toString(), "2020-01-03T07:31");
|
||||
assertEquals("2020-01-03T07:31", localDateTime2.toString());
|
||||
|
||||
final LocalTime localTime1 = DateTimeUtils.plusOneMinute(localTime);
|
||||
Assert.assertEquals(localTime1.toString(), "07:31");
|
||||
assertEquals("07:31", localTime1.toString());
|
||||
|
||||
final LocalDateTime localDateTime3 = DateTimeUtils.plusDays(now, 10);
|
||||
Assert.assertEquals(localDateTime3.toString(), "2020-01-19T10:20");
|
||||
assertEquals("2020-01-19T10:20", localDateTime3.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析时间格式为LocalDateTime
|
||||
*/
|
||||
@Test
|
||||
public void parseTest() {
|
||||
void parseTest() {
|
||||
String time = "20200109135500000";
|
||||
final LocalDateTime localDateTime = DateTimeUtils.parseCttDateTime(time);
|
||||
Assert.assertEquals(localDateTime.toString(), "2020-01-09T13:55");
|
||||
assertEquals("2020-01-09T13:55", localDateTime.toString());
|
||||
|
||||
String time2 = "2020/1/9 13:56";
|
||||
final LocalDateTime dateTime = DateTimeUtils.parse(time2, DateTimeFormatter.ofPattern("yyyy/M/d HH:mm"));
|
||||
Assert.assertEquals(dateTime.toString(), "2020-01-09T13:56");
|
||||
assertEquals("2020-01-09T13:56", dateTime.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 减少日期时间
|
||||
*/
|
||||
@Test
|
||||
public void minusTest() {
|
||||
void minusTest() {
|
||||
final LocalDateTime now = LocalDateTime.of(2020, 1, 3, 14, 20);
|
||||
final LocalDateTime localDateTime = DateTimeUtils.minusOneMinutes(now);
|
||||
Assert.assertEquals(localDateTime.toString(), "2020-01-03T14:19");
|
||||
assertEquals("2020-01-03T14:19", localDateTime.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 转为Instant
|
||||
*/
|
||||
@Test
|
||||
public void toInstantTest() {
|
||||
void toInstantTest() {
|
||||
final LocalDateTime now = LocalDateTime.of(2020, 1, 3, 14, 20);
|
||||
|
||||
final Instant instant = DateTimeUtils.toInstant(now);
|
||||
Assert.assertEquals(instant.toString(), "2020-01-03T06:20:00Z");
|
||||
assertEquals("2020-01-03T06:20:00Z", instant.toString());
|
||||
|
||||
final Instant jst = DateTimeUtils.toInstant(now, ZoneId.of(ZoneId.SHORT_IDS.get("JST")));
|
||||
Assert.assertEquals(jst.toString(), "2020-01-03T05:20:00Z");
|
||||
assertEquals("2020-01-03T05:20:00Z", jst.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 一些其他的使用方法
|
||||
*/
|
||||
@Test
|
||||
public void other() {
|
||||
void other() {
|
||||
LocalDateTime startInclusive = LocalDateTime.of(2020, 1, 3, 10, 10, 30);
|
||||
LocalDateTime endInclusive = LocalDateTime.of(2020, 1, 4, 10, 10, 30);
|
||||
// End 大于等于 Start
|
||||
final boolean greaterOrEqual = DateTimeUtils.isGreaterOrEqual(startInclusive, endInclusive);
|
||||
Assert.assertTrue(greaterOrEqual);
|
||||
assertTrue(greaterOrEqual);
|
||||
|
||||
/*
|
||||
* 小于等于
|
||||
*/
|
||||
final boolean lessThanOrEqual = DateTimeUtils.isLessThanOrEqual(startInclusive, endInclusive);
|
||||
Assert.assertFalse(lessThanOrEqual);
|
||||
assertFalse(lessThanOrEqual);
|
||||
|
||||
/*
|
||||
* 两个时间的比较是否为0
|
||||
*/
|
||||
final boolean zero = DateTimeUtils.isZero(startInclusive, endInclusive);
|
||||
Assert.assertFalse(zero);
|
||||
assertFalse(zero);
|
||||
|
||||
// 是否是负数,startInclusive 大于 endInclusive 就是负数
|
||||
final boolean negative = DateTimeUtils.isNegative(startInclusive, endInclusive);
|
||||
Assert.assertFalse(negative);
|
||||
assertFalse(negative);
|
||||
|
||||
// 是否是中午
|
||||
final boolean noon = DateTimeUtils.isNoon(LocalTime.of(12, 0));
|
||||
Assert.assertTrue(noon);
|
||||
assertTrue(noon);
|
||||
|
||||
// 把纳秒和秒设置为0
|
||||
final LocalDateTime localDateTime = LocalDateTime.of(2020, 1, 5, 6, 40, 30, 999);
|
||||
final LocalDateTime time = DateTimeUtils.secondAndNanoSetZero(localDateTime);
|
||||
Assert.assertEquals(time.toString(), "2020-01-05T06:40");
|
||||
assertEquals("2020-01-05T06:40", time.toString());
|
||||
}
|
||||
}
|
|
@ -1,13 +1,14 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import run.halo.app.exception.ForbiddenException;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* Directory attack test.
|
||||
*
|
||||
|
@ -15,12 +16,12 @@ import java.nio.file.Paths;
|
|||
* @date 4/9/19
|
||||
*/
|
||||
@Slf4j
|
||||
public class DirectoryAttackTest {
|
||||
class DirectoryAttackTest {
|
||||
|
||||
private String userHome = System.getProperty("user.home");
|
||||
String userHome = System.getProperty("user.home");
|
||||
|
||||
@Test
|
||||
public void compareDirectoryFailureTest() {
|
||||
void compareDirectoryFailureTest() {
|
||||
|
||||
Path workDirPath = Paths.get(userHome + "/halo-test/");
|
||||
|
||||
|
@ -29,12 +30,12 @@ public class DirectoryAttackTest {
|
|||
log.debug("Work directory path: [{}]", workDirPath);
|
||||
log.debug("Test path: [{}]", testPath);
|
||||
|
||||
Assert.assertFalse(testPath.startsWith(workDirPath));
|
||||
Assert.assertFalse(workDirPath.startsWith(testPath));
|
||||
assertFalse(testPath.startsWith(workDirPath));
|
||||
assertFalse(workDirPath.startsWith(testPath));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void compareDirectorySuccessfullyTest() {
|
||||
void compareDirectorySuccessfullyTest() {
|
||||
Path workDirPath = Paths.get(userHome + "/halo-test/");
|
||||
|
||||
Path testPath = Paths.get(userHome + "/halo-test/test.txt");
|
||||
|
@ -42,13 +43,13 @@ public class DirectoryAttackTest {
|
|||
log.debug("Work directory path: [{}]", workDirPath);
|
||||
log.debug("Test path: [{}]", testPath);
|
||||
|
||||
Assert.assertTrue(testPath.startsWith(workDirPath));
|
||||
Assert.assertFalse(workDirPath.startsWith(testPath));
|
||||
assertTrue(testPath.startsWith(workDirPath));
|
||||
assertFalse(workDirPath.startsWith(testPath));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void compareDirectorySuccessfullyTest2() {
|
||||
void compareDirectorySuccessfullyTest2() {
|
||||
Path workDirPath = Paths.get(userHome + "/../../etc/").normalize();
|
||||
|
||||
Path testPath = Paths.get("/etc/passwd");
|
||||
|
@ -56,12 +57,12 @@ public class DirectoryAttackTest {
|
|||
log.debug("Work directory path: [{}]", workDirPath);
|
||||
log.debug("Test path: [{}]", testPath);
|
||||
|
||||
Assert.assertTrue(testPath.startsWith(workDirPath));
|
||||
Assert.assertFalse(workDirPath.startsWith(testPath));
|
||||
assertTrue(testPath.startsWith(workDirPath));
|
||||
assertFalse(workDirPath.startsWith(testPath));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getRealPathTest() {
|
||||
void getRealPathTest() {
|
||||
String pathname = "/home/test/../../etc/";
|
||||
Path path = Paths.get(pathname);
|
||||
|
||||
|
@ -72,12 +73,13 @@ public class DirectoryAttackTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void traversalTestWhenSuccess() {
|
||||
void traversalTestWhenSuccess() {
|
||||
FileUtils.checkDirectoryTraversal("/etc/", "/etc/halo/halo/../test");
|
||||
}
|
||||
|
||||
@Test(expected = ForbiddenException.class)
|
||||
public void traversalTestWhenFailure() {
|
||||
FileUtils.checkDirectoryTraversal("/etc/", "/etc/../tmp");
|
||||
@Test
|
||||
void traversalTestWhenFailure() {
|
||||
assertThrows(ForbiddenException.class,
|
||||
() -> FileUtils.checkDirectoryTraversal("/etc/", "/etc/../tmp"));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import run.halo.app.model.support.HaloConst;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -17,17 +16,17 @@ import java.util.stream.Collectors;
|
|||
import java.util.stream.Stream;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
/**
|
||||
* @author johnniang
|
||||
* @date 19-4-19
|
||||
*/
|
||||
@Slf4j
|
||||
public class FileUtilsTest {
|
||||
class FileUtilsTest {
|
||||
|
||||
@Test
|
||||
public void deleteFolder() throws IOException {
|
||||
void deleteFolder() throws IOException {
|
||||
// Create a temp folder
|
||||
Path tempDirectory = Files.createTempDirectory("halo-test");
|
||||
|
||||
|
@ -39,35 +38,35 @@ public class FileUtilsTest {
|
|||
try (Stream<Path> pathStream = Files.walk(tempDirectory)) {
|
||||
List<Path> walkList = pathStream.collect(Collectors.toList());
|
||||
walkList.forEach(path -> log.debug(path.toString()));
|
||||
Assert.assertThat(walkList.size(), equalTo(4));
|
||||
assertEquals(4, walkList.size());
|
||||
}
|
||||
|
||||
try (Stream<Path> pathStream = Files.walk(tempDirectory, 1)) {
|
||||
List<Path> walkList = pathStream.collect(Collectors.toList());
|
||||
walkList.forEach(path -> log.debug(path.toString()));
|
||||
Assert.assertThat(walkList.size(), equalTo(2));
|
||||
assertEquals(2, walkList.size());
|
||||
}
|
||||
|
||||
try (Stream<Path> pathStream = Files.list(tempDirectory)) {
|
||||
List<Path> walkList = pathStream.collect(Collectors.toList());
|
||||
walkList.forEach(path -> log.debug(path.toString()));
|
||||
Assert.assertThat(walkList.size(), equalTo(1));
|
||||
assertEquals(1, walkList.size());
|
||||
}
|
||||
|
||||
try (Stream<Path> pathStream = Files.list(testPath)) {
|
||||
List<Path> walkList = pathStream.collect(Collectors.toList());
|
||||
walkList.forEach(path -> log.debug(path.toString()));
|
||||
Assert.assertThat(walkList.size(), equalTo(0));
|
||||
assertEquals(0, walkList.size());
|
||||
}
|
||||
|
||||
// Delete it
|
||||
FileUtils.deleteFolder(tempDirectory);
|
||||
|
||||
Assert.assertTrue(Files.notExists(tempDirectory));
|
||||
assertTrue(Files.notExists(tempDirectory));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void zipFolderTest() throws IOException {
|
||||
void zipFolderTest() throws IOException {
|
||||
// Create some temporary files
|
||||
Path rootFolder = Files.createTempDirectory("zip-root-");
|
||||
log.debug("Folder name: [{}]", rootFolder.getFileName());
|
||||
|
@ -91,13 +90,13 @@ public class FileUtilsTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void tempFolderTest() {
|
||||
void tempFolderTest() {
|
||||
log.debug(HaloConst.TEMP_DIR);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void dbFileReadTest() throws IOException {
|
||||
@Disabled("Due to depend on halo.mv.db file")
|
||||
void dbFileReadTest() throws IOException {
|
||||
Path dbPath = Paths.get(HaloConst.USER_HOME + "/halo-test/db/halo.mv.db");
|
||||
|
||||
try (RandomAccessFile randomAccessFile = new RandomAccessFile(dbPath.toString(), "r")) {
|
||||
|
@ -111,7 +110,7 @@ public class FileUtilsTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testRenameFile() throws IOException {
|
||||
void testRenameFile() throws IOException {
|
||||
// Create a temp folder
|
||||
Path tempDirectory = Files.createTempDirectory("halo-test");
|
||||
|
||||
|
@ -130,15 +129,15 @@ public class FileUtilsTest {
|
|||
FileUtils.rename(filePath, "newName");
|
||||
Path newPath = filePath.resolveSibling("newName");
|
||||
|
||||
Assert.assertFalse(Files.exists(filePath));
|
||||
Assert.assertTrue(Files.isRegularFile(newPath));
|
||||
Assert.assertEquals(new String(Files.readAllBytes(newPath)), content);
|
||||
assertFalse(Files.exists(filePath));
|
||||
assertTrue(Files.isRegularFile(newPath));
|
||||
assertEquals(content, new String(Files.readAllBytes(newPath)));
|
||||
|
||||
FileUtils.deleteFolder(tempDirectory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRenameFolder() throws IOException {
|
||||
void testRenameFolder() throws IOException {
|
||||
// Create a temp folder
|
||||
Path tempDirectory = Files.createTempDirectory("halo-test");
|
||||
|
||||
|
@ -153,14 +152,14 @@ public class FileUtilsTest {
|
|||
FileUtils.rename(tempDirectory.resolve("test"), "newName");
|
||||
Path newPath = tempDirectory.resolve("newName");
|
||||
|
||||
Assert.assertTrue(Files.isDirectory(newPath));
|
||||
Assert.assertTrue(Files.isRegularFile(newPath.resolve("test.file")));
|
||||
assertTrue(Files.isDirectory(newPath));
|
||||
assertTrue(Files.isRegularFile(newPath.resolve("test.file")));
|
||||
|
||||
FileUtils.deleteFolder(tempDirectory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRenameRepeat() throws IOException {
|
||||
void testRenameRepeat() throws IOException {
|
||||
// Create a temp folder
|
||||
Path tempDirectory = Files.createTempDirectory("halo-test");
|
||||
|
||||
|
@ -178,19 +177,19 @@ public class FileUtilsTest {
|
|||
try {
|
||||
FileUtils.rename(testPathOne, "testTwo");
|
||||
} catch (Exception e) {
|
||||
Assert.assertTrue(e instanceof FileAlreadyExistsException);
|
||||
assertTrue(e instanceof FileAlreadyExistsException);
|
||||
}
|
||||
|
||||
try {
|
||||
FileUtils.rename(filePathOne, "testTwo.file");
|
||||
} catch (Exception e) {
|
||||
Assert.assertTrue(e instanceof FileAlreadyExistsException);
|
||||
assertTrue(e instanceof FileAlreadyExistsException);
|
||||
}
|
||||
|
||||
try {
|
||||
FileUtils.rename(filePathOne, "testOne");
|
||||
} catch (Exception e) {
|
||||
Assert.assertTrue(e instanceof FileAlreadyExistsException);
|
||||
assertTrue(e instanceof FileAlreadyExistsException);
|
||||
}
|
||||
|
||||
FileUtils.deleteFolder(tempDirectory);
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* Filename utilities test.
|
||||
|
@ -11,18 +10,18 @@ import static org.junit.Assert.assertThat;
|
|||
* @author johnniang
|
||||
* @date 3/26/19
|
||||
*/
|
||||
public class FilenameUtilsTest {
|
||||
class FilenameUtilsTest {
|
||||
|
||||
// a/b/c.txt --> c.txt
|
||||
// a.txt --> a.txt
|
||||
// a/b/c --> c
|
||||
// a/b/c/ --> ""
|
||||
@Test
|
||||
public void getBasename() {
|
||||
assertThat(FilenameUtils.getBasename("a/b/c.txt"), equalTo("c"));
|
||||
assertThat(FilenameUtils.getBasename("a.txt"), equalTo("a"));
|
||||
assertThat(FilenameUtils.getBasename("a/b/c"), equalTo("c"));
|
||||
assertThat(FilenameUtils.getBasename("a/b/c/"), equalTo(""));
|
||||
void getBasename() {
|
||||
assertEquals("c", FilenameUtils.getBasename("a/b/c.txt"));
|
||||
assertEquals("a", FilenameUtils.getBasename("a.txt"));
|
||||
assertEquals("c", FilenameUtils.getBasename("a/b/c"));
|
||||
assertEquals("", FilenameUtils.getBasename("a/b/c/"));
|
||||
}
|
||||
|
||||
// foo.txt --> "txt"
|
||||
|
@ -30,11 +29,11 @@ public class FilenameUtilsTest {
|
|||
// a/b.txt/c --> ""
|
||||
// a/b/c --> ""
|
||||
@Test
|
||||
public void getExtension() {
|
||||
assertThat(FilenameUtils.getExtension("foo.txt"), equalTo("txt"));
|
||||
assertThat(FilenameUtils.getExtension("a/b/c.jpg"), equalTo("jpg"));
|
||||
assertThat(FilenameUtils.getExtension("a/b.txt/c"), equalTo(""));
|
||||
assertThat(FilenameUtils.getExtension("a/b/c"), equalTo(""));
|
||||
assertThat(FilenameUtils.getExtension("a/b/c/"), equalTo(""));
|
||||
void getExtension() {
|
||||
assertEquals("txt", FilenameUtils.getExtension("foo.txt"));
|
||||
assertEquals("jpg", FilenameUtils.getExtension("a/b/c.jpg"));
|
||||
assertEquals("", FilenameUtils.getExtension("a/b.txt/c"));
|
||||
assertEquals("", FilenameUtils.getExtension("a/b/c"));
|
||||
assertEquals("", FilenameUtils.getExtension("a/b/c/"));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.eclipse.jgit.api.errors.GitAPIException;
|
|||
import org.eclipse.jgit.errors.RepositoryNotFoundException;
|
||||
import org.eclipse.jgit.transport.RemoteConfig;
|
||||
import org.eclipse.jgit.transport.URIish;
|
||||
import org.junit.*;
|
||||
import org.junit.jupiter.api.*;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
|
@ -15,6 +15,9 @@ import java.nio.file.Files;
|
|||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
||||
/**
|
||||
* Git test.
|
||||
*
|
||||
|
@ -22,39 +25,41 @@ import java.util.List;
|
|||
* @date 19-5-21
|
||||
*/
|
||||
@Slf4j
|
||||
public class GitTest {
|
||||
class GitTest {
|
||||
|
||||
private Path tempPath;
|
||||
Path tempPath;
|
||||
|
||||
@Before
|
||||
public void setUp() throws IOException {
|
||||
@BeforeEach
|
||||
void setUp() throws IOException {
|
||||
tempPath = Files.createTempDirectory("git-test");
|
||||
}
|
||||
|
||||
@After
|
||||
public void destroy() throws IOException {
|
||||
@AfterEach
|
||||
void destroy() throws IOException {
|
||||
FileUtils.deleteFolder(tempPath);
|
||||
}
|
||||
|
||||
@Test(expected = RepositoryNotFoundException.class)
|
||||
public void openFailureTest() throws IOException {
|
||||
Git.open(tempPath.toFile());
|
||||
@Test
|
||||
void openFailureTest() {
|
||||
Assertions.assertThrows(RepositoryNotFoundException.class, () -> {
|
||||
Git.open(tempPath.toFile());
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void initTest() throws GitAPIException {
|
||||
void initTest() throws GitAPIException {
|
||||
Git.init().setDirectory(tempPath.toFile()).call();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void statusSuccessfulTest() throws GitAPIException {
|
||||
void statusSuccessfulTest() throws GitAPIException {
|
||||
Git git = Git.init().setDirectory(tempPath.toFile()).call();
|
||||
Status status = git.status().call();
|
||||
log.debug("Status missing: [{}]", status.getMissing());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void remoteAddTest() throws GitAPIException, URISyntaxException {
|
||||
void remoteAddTest() throws GitAPIException, URISyntaxException {
|
||||
Git git = Git.init().setDirectory(tempPath.toFile()).call();
|
||||
git.remoteRemove().setRemoteName("theme-provider").call();
|
||||
git.remoteAdd().setName("theme-provider").setUri(new URIish("https://github.com/halo-dev/halo-theme-pinghsu.git")).call();
|
||||
|
@ -63,14 +68,14 @@ public class GitTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void cloneTest() throws GitAPIException {
|
||||
@Disabled("Due to time-consumption cloning")
|
||||
void cloneTest() throws GitAPIException {
|
||||
cloneRepository();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void pullTest() throws GitAPIException {
|
||||
@Disabled("Due to time-consumption cloning and pulling")
|
||||
void pullTest() throws GitAPIException {
|
||||
Git git = cloneRepository();
|
||||
git.pull().call();
|
||||
git.clean().call();
|
||||
|
@ -78,21 +83,21 @@ public class GitTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getAllBranchesTest() {
|
||||
@Disabled("Due to time-consumption fetching")
|
||||
void getAllBranchesTest() {
|
||||
List<String> branches = GitUtils.getAllBranches("https://github.com/halo-dev/halo-theme-hux.git");
|
||||
Assert.assertNotNull(branches);
|
||||
assertNotNull(branches);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getAllBranchesWithInvalidURL() {
|
||||
@Disabled("Due to time-consumption fetching")
|
||||
void getAllBranchesWithInvalidURL() {
|
||||
List<String> branches = GitUtils.getAllBranches("https://github.com/halo-dev/halo-theme.git");
|
||||
Assert.assertNotNull(branches);
|
||||
Assert.assertEquals(branches.size(), 0);
|
||||
assertNotNull(branches);
|
||||
assertEquals(0, branches.size());
|
||||
}
|
||||
|
||||
private Git cloneRepository() throws GitAPIException {
|
||||
Git cloneRepository() throws GitAPIException {
|
||||
return Git.cloneRepository()
|
||||
.setURI("https://github.com/halo-dev/halo-theme-pinghsu.git")
|
||||
.setDirectory(tempPath.toFile())
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
@ -18,29 +17,32 @@ import java.security.NoSuchAlgorithmException;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* Github api test.
|
||||
*
|
||||
* @author johnniang
|
||||
* @date 19-5-21
|
||||
*/
|
||||
@Ignore
|
||||
@Slf4j
|
||||
public class GithubTest {
|
||||
@Disabled("Due to time-consumption")
|
||||
class GithubTest {
|
||||
|
||||
private final static String API_URL = "https://api.github.com/repos/halo-dev/halo-admin/releases/latest";
|
||||
private final static String HALO_ADMIN_REGEX = "halo-admin-\\d+\\.\\d+(\\.\\d+)?(-\\S*)?\\.zip";
|
||||
private final Path tempPath;
|
||||
private final RestTemplate restTemplate;
|
||||
final static String API_URL = "https://api.github.com/repos/halo-dev/halo-admin/releases/latest";
|
||||
final static String HALO_ADMIN_REGEX = "halo-admin-\\d+\\.\\d+(\\.\\d+)?(-\\S*)?\\.zip";
|
||||
final Path tempPath;
|
||||
final RestTemplate restTemplate;
|
||||
|
||||
public GithubTest() throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException, IOException {
|
||||
GithubTest() throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException, IOException {
|
||||
tempPath = Files.createTempDirectory("git-test");
|
||||
this.restTemplate = new RestTemplate(new HttpComponentsClientHttpRequestFactory(HttpClientUtils.createHttpsClient(5000)));
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("unchecked")
|
||||
public void getLatestReleaseTest() throws Throwable {
|
||||
void getLatestReleaseTest() throws Throwable {
|
||||
ResponseEntity<Map> responseEntity = restTemplate.getForEntity(API_URL, Map.class);
|
||||
log.debug("Response: " + responseEntity);
|
||||
Object assetsObject = responseEntity.getBody().get("assets");
|
||||
|
@ -72,21 +74,21 @@ public class GithubTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void nameMatchTEst() {
|
||||
void nameMatchTEst() {
|
||||
String name = "halo-admin-1.0.0-beta.1.zip";
|
||||
|
||||
Assert.assertTrue(name.matches(HALO_ADMIN_REGEX));
|
||||
assertTrue(name.matches(HALO_ADMIN_REGEX));
|
||||
|
||||
name = "halo-admin-1.0.zip";
|
||||
Assert.assertTrue(name.matches(HALO_ADMIN_REGEX));
|
||||
assertTrue(name.matches(HALO_ADMIN_REGEX));
|
||||
|
||||
name = "halo-admin-1.0.0.zip";
|
||||
Assert.assertTrue(name.matches(HALO_ADMIN_REGEX));
|
||||
assertTrue(name.matches(HALO_ADMIN_REGEX));
|
||||
|
||||
name = "halo-admin-v1.0.0-beta.zip";
|
||||
Assert.assertFalse(name.matches(HALO_ADMIN_REGEX));
|
||||
assertFalse(name.matches(HALO_ADMIN_REGEX));
|
||||
|
||||
name = "halo-admin.zip";
|
||||
Assert.assertFalse(name.matches(HALO_ADMIN_REGEX));
|
||||
assertFalse(name.matches(HALO_ADMIN_REGEX));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,45 +2,42 @@ package run.halo.app.utils;
|
|||
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
@Slf4j
|
||||
public class GithubUtilsTest {
|
||||
@Disabled("Dut to time-consumption")
|
||||
class GithubUtilsTest {
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getLatestReleasesWithValidURL() {
|
||||
void getLatestReleasesWithValidURL() {
|
||||
Map<String, Object> map = GithubUtils.getLatestRelease("https://github.com/halo-dev/halo-theme-hux");
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getLatestReleasesWithInvalidURL() {
|
||||
void getLatestReleasesWithInvalidURL() {
|
||||
Map<String, Object> map = GithubUtils.getLatestRelease("https://github.com/halo-dev/halo-theme-hu");
|
||||
Assert.assertNull(map);
|
||||
assertNull(map);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void accessThemePropertyWithValidURL() {
|
||||
void accessThemePropertyWithValidURL() {
|
||||
String content = GithubUtils.accessThemeProperty("https://github.com/halo-dev/halo-theme-hux", "master");
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void accessThemePropertyWithInvalidURL() {
|
||||
void accessThemePropertyWithInvalidURL() {
|
||||
String content = GithubUtils.accessThemeProperty("https://github.com/halo-dev/halo-theme-hu", "master");
|
||||
Assert.assertNull(content);
|
||||
assertNull(content);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getReleasesTest() {
|
||||
void getReleasesTest() {
|
||||
List<String> list = GithubUtils.getReleases("https://github.com/halo-dev/halo-theme-hux");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,13 +2,12 @@ package run.halo.app.utils;
|
|||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.RandomUtils;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
/**
|
||||
* Halo utilities test.
|
||||
|
@ -18,116 +17,114 @@ import static org.junit.Assert.assertThat;
|
|||
* @date 2019-03-29
|
||||
*/
|
||||
@Slf4j
|
||||
public class HaloUtilsTest {
|
||||
class HaloUtilsTest {
|
||||
|
||||
@Test
|
||||
public void timeFormatTest() {
|
||||
void timeFormatTest() {
|
||||
long seconds = 0;
|
||||
String timeFormat = HaloUtils.timeFormat(seconds);
|
||||
assertThat(timeFormat, equalTo("0 second"));
|
||||
assertEquals("0 second", timeFormat);
|
||||
|
||||
seconds = -1;
|
||||
timeFormat = HaloUtils.timeFormat(seconds);
|
||||
assertThat(timeFormat, equalTo("0 second"));
|
||||
assertEquals("0 second", timeFormat);
|
||||
|
||||
seconds = 30;
|
||||
timeFormat = HaloUtils.timeFormat(seconds);
|
||||
assertThat(timeFormat, equalTo("30 seconds"));
|
||||
assertEquals("30 seconds", timeFormat);
|
||||
|
||||
seconds = 60;
|
||||
timeFormat = HaloUtils.timeFormat(seconds);
|
||||
assertThat(timeFormat, equalTo("1 minute"));
|
||||
assertEquals("1 minute", timeFormat);
|
||||
|
||||
seconds = 120;
|
||||
timeFormat = HaloUtils.timeFormat(seconds);
|
||||
assertThat(timeFormat, equalTo("2 minutes"));
|
||||
assertEquals("2 minutes", timeFormat);
|
||||
|
||||
seconds = 3600;
|
||||
timeFormat = HaloUtils.timeFormat(seconds);
|
||||
assertThat(timeFormat, equalTo("1 hour"));
|
||||
assertEquals("1 hour", timeFormat);
|
||||
|
||||
seconds = 7200;
|
||||
timeFormat = HaloUtils.timeFormat(seconds);
|
||||
assertThat(timeFormat, equalTo("2 hours"));
|
||||
assertEquals("2 hours", timeFormat);
|
||||
|
||||
seconds = 7200 + 30;
|
||||
timeFormat = HaloUtils.timeFormat(seconds);
|
||||
assertThat(timeFormat, equalTo("2 hours, 30 seconds"));
|
||||
assertEquals("2 hours, 30 seconds", timeFormat);
|
||||
|
||||
seconds = 7200 + 60 + 30;
|
||||
timeFormat = HaloUtils.timeFormat(seconds);
|
||||
assertThat(timeFormat, equalTo("2 hours, 1 minute, 30 seconds"));
|
||||
|
||||
|
||||
assertEquals("2 hours, 1 minute, 30 seconds", timeFormat);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void pluralizeTest() {
|
||||
void pluralizeTest() {
|
||||
|
||||
String label = "chance";
|
||||
String pluralLabel = "chances";
|
||||
|
||||
String pluralizedFormat = HaloUtils.pluralize(1, label, pluralLabel);
|
||||
assertThat(pluralizedFormat, equalTo("1 chance"));
|
||||
assertEquals("1 chance", pluralizedFormat);
|
||||
|
||||
|
||||
pluralizedFormat = HaloUtils.pluralize(2, label, pluralLabel);
|
||||
assertThat(pluralizedFormat, equalTo("2 chances"));
|
||||
assertEquals("2 chances", pluralizedFormat);
|
||||
|
||||
pluralizedFormat = HaloUtils.pluralize(0, label, pluralLabel);
|
||||
assertThat(pluralizedFormat, equalTo("no chances"));
|
||||
assertEquals("no chances", pluralizedFormat);
|
||||
|
||||
// Test random positive time
|
||||
IntStream.range(0, 10000).forEach(i -> {
|
||||
long time = RandomUtils.nextLong(2, Long.MAX_VALUE);
|
||||
String result = HaloUtils.pluralize(time, label, pluralLabel);
|
||||
assertThat(result, equalTo(time + " " + pluralLabel));
|
||||
assertEquals(time + " " + pluralLabel, result);
|
||||
});
|
||||
|
||||
// Test random negative time
|
||||
IntStream.range(0, 10000).forEach(i -> {
|
||||
long time = (-1) * RandomUtils.nextLong();
|
||||
String result = HaloUtils.pluralize(time, label, pluralLabel);
|
||||
assertThat(result, equalTo("no " + pluralLabel));
|
||||
assertEquals("no " + pluralLabel, result);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void pluralizeLabelExceptionTest() {
|
||||
HaloUtils.pluralize(1, null, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void desensitizeSuccessTest() {
|
||||
void pluralizeLabelExceptionTest() {
|
||||
assertThrows(IllegalArgumentException.class, () -> HaloUtils.pluralize(1, null, null));
|
||||
}
|
||||
|
||||
@Test
|
||||
void desensitizeSuccessTest() {
|
||||
String plainText = "12345678";
|
||||
|
||||
String desensitization = HaloUtils.desensitize(plainText, 1, 1);
|
||||
assertThat(desensitization, equalTo("1******8"));
|
||||
assertEquals("1******8", desensitization);
|
||||
|
||||
desensitization = HaloUtils.desensitize(plainText, 2, 3);
|
||||
assertThat(desensitization, equalTo("12***678"));
|
||||
assertEquals("12***678", desensitization);
|
||||
|
||||
desensitization = HaloUtils.desensitize(plainText, 2, 6);
|
||||
assertThat(desensitization, equalTo("12345678"));
|
||||
assertEquals("12345678", desensitization);
|
||||
|
||||
desensitization = HaloUtils.desensitize(plainText, 2, 7);
|
||||
assertThat(desensitization, equalTo("12345678"));
|
||||
assertEquals("12345678", desensitization);
|
||||
|
||||
desensitization = HaloUtils.desensitize(plainText, 0, 0);
|
||||
assertThat(desensitization, equalTo("********"));
|
||||
assertEquals("********", desensitization);
|
||||
|
||||
desensitization = HaloUtils.desensitize(plainText, -1, -1);
|
||||
assertThat(desensitization, equalTo("********"));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void desensitizeFailureTest() {
|
||||
String plainText = " ";
|
||||
HaloUtils.desensitize(plainText, 1, 1);
|
||||
assertEquals("********", desensitization);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void compositeHttpUrl() {
|
||||
void desensitizeFailureTest() {
|
||||
String plainText = " ";
|
||||
assertThrows(IllegalArgumentException.class, () -> HaloUtils.desensitize(plainText, 1, 1));
|
||||
}
|
||||
|
||||
@Test
|
||||
void compositeHttpUrl() {
|
||||
String url = HaloUtils.compositeHttpUrl("https://halo.run", "path1", "path2");
|
||||
assertEquals("https://halo.run/path1/path2", url);
|
||||
|
||||
|
@ -145,7 +142,7 @@ public class HaloUtilsTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void normalizeUrl() {
|
||||
void normalizeUrl() {
|
||||
assertEquals("/2019/2/2/avatar.jpg", HaloUtils.normalizeUrl("/2019/2/2/avatar.jpg"));
|
||||
|
||||
assertEquals("http://cn.gravatar.com/avatar?d=mm", HaloUtils.normalizeUrl("//cn.gravatar.com/avatar?d=mm"));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
|
@ -12,10 +12,10 @@ import java.net.UnknownHostException;
|
|||
* @author johnniang
|
||||
*/
|
||||
@Slf4j
|
||||
public class InetAddressTest {
|
||||
class InetAddressTest {
|
||||
|
||||
@Test
|
||||
public void getMachaineAddressTest() throws UnknownHostException {
|
||||
void getMachineAddressTest() throws UnknownHostException {
|
||||
InetAddress localHost = InetAddress.getLocalHost();
|
||||
log.debug("Localhost: " + localHost.getHostAddress());
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* @author johnniang
|
||||
* @date 19-4-29
|
||||
*/
|
||||
public class JsonUtilsTest {
|
||||
class JsonUtilsTest {
|
||||
|
||||
@Test
|
||||
public void longConvertTest() throws IOException {
|
||||
void longConvertTest() throws IOException {
|
||||
long num = 10;
|
||||
|
||||
String result = JsonUtils.objectToJson(num);
|
||||
|
|
|
@ -12,10 +12,10 @@ import java.time.format.DateTimeFormatter;
|
|||
* @author johnniang
|
||||
*/
|
||||
@Slf4j
|
||||
public class LocalDateTimeTest {
|
||||
class LocalDateTimeTest {
|
||||
|
||||
@Test
|
||||
public void dateTimeToStringTest() {
|
||||
void dateTimeToStringTest() {
|
||||
LocalDateTime dateTime = LocalDateTime.now();
|
||||
log.debug(dateTime.toString());
|
||||
log.debug(dateTime.toLocalDate().toString());
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.file.FileSystemNotFoundException;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
/**
|
||||
* Path test.
|
||||
*
|
||||
|
@ -16,14 +17,15 @@ import java.nio.file.Paths;
|
|||
* @date 19-5-20
|
||||
*/
|
||||
@Slf4j
|
||||
public class PathTest {
|
||||
class PathTest {
|
||||
|
||||
@Test(expected = FileSystemNotFoundException.class)
|
||||
public void getPathOfJarFileFailure() throws URISyntaxException {
|
||||
@Test
|
||||
void getPathOfJarFileFailure() {
|
||||
String file = "jar:file:/path/to/jar/xxx.jar!/BOOT-INF/classes!/templates/themes";
|
||||
URI uri = new URI(file);
|
||||
Path path = Paths.get(uri);
|
||||
|
||||
log.debug("Path: " + path.toString());
|
||||
assertThrows(FileSystemNotFoundException.class, () -> {
|
||||
URI uri = new URI(file);
|
||||
Path path = Paths.get(uri);
|
||||
log.debug("Path: " + path.toString());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/**
|
||||
* Paths test.
|
||||
|
@ -16,21 +15,21 @@ import static org.junit.Assert.assertTrue;
|
|||
* @author johnniang
|
||||
* @date 3/27/19
|
||||
*/
|
||||
public class PathsTest {
|
||||
class PathsTest {
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void getTest() {
|
||||
@Disabled("Due to platform dependent")
|
||||
void getTest() {
|
||||
Path path = Paths.get("/home/test/", "/upload/test.txt");
|
||||
assertThat(path.toString(), equalTo("/home/test/upload/test.txt"));
|
||||
assertThat(path.getParent().toString(), equalTo("/home/test/upload"));
|
||||
assertThat(path.getFileName().toString(), equalTo("test.txt"));
|
||||
assertEquals("/home/test/upload/test.txt", path.toString());
|
||||
assertEquals("/home/test/upload", path.getParent().toString());
|
||||
assertEquals("test.txt", path.getFileName().toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithTest() {
|
||||
void startWithTest() {
|
||||
Path path = Paths.get("/test/test.txt");
|
||||
assertThat(path.getFileName().toString(), equalTo("test.txt"));
|
||||
assertEquals("test.txt", path.getFileName().toString());
|
||||
boolean isStartWith = FilenameUtils.getBasename(path.toString()).equalsIgnoreCase("test");
|
||||
assertTrue(isStartWith);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import run.halo.app.model.params.BaseCommentParam;
|
||||
import run.halo.app.model.params.JournalCommentParam;
|
||||
|
||||
|
@ -15,10 +15,10 @@ import java.lang.reflect.Type;
|
|||
* @date 19-4-25
|
||||
*/
|
||||
@Slf4j
|
||||
public class ReflectionUtilsTest {
|
||||
class ReflectionUtilsTest {
|
||||
|
||||
@Test
|
||||
public void getBaseCommentParamParameterizedTypeTest() {
|
||||
void getBaseCommentParamParameterizedTypeTest() {
|
||||
Class<JournalCommentParam> paramClass = JournalCommentParam.class;
|
||||
|
||||
log.debug(paramClass.getTypeName());
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* @author johnniang
|
||||
|
@ -17,14 +15,14 @@ public class SlugUtilsTest {
|
|||
public void makeSlugTest() {
|
||||
String slugResult = SlugUtils.slugify("Hello World");
|
||||
|
||||
Assert.assertThat(slugResult, equalTo("hello-world"));
|
||||
Assertions.assertEquals("hello-world", slugResult);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void slugTest() {
|
||||
String slug = SlugUtils.slug("一二三四 +/~!@#$%^&*()_+ - hello-world");
|
||||
|
||||
Assert.assertThat(slug, equalTo("一二三四-hello-world"));
|
||||
Assertions.assertEquals("一二三四-hello-world", slug);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
|
@ -12,13 +12,13 @@ import java.util.concurrent.TimeUnit;
|
|||
* @date 19-4-29
|
||||
*/
|
||||
@Slf4j
|
||||
public class TimeUnitTest {
|
||||
class TimeUnitTest {
|
||||
|
||||
@Test
|
||||
public void convertTest() {
|
||||
Long millis = TimeUnit.DAYS.toMillis(30);
|
||||
void convertTest() {
|
||||
long millis = TimeUnit.DAYS.toMillis(30);
|
||||
|
||||
log.debug("" + millis);
|
||||
log.debug("" + millis.intValue());
|
||||
log.debug("" + (int) millis);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Two-Factor Auth Test
|
||||
|
@ -10,10 +10,10 @@ import org.junit.Test;
|
|||
* @date 2020-04-03 10:10 上午
|
||||
*/
|
||||
@Slf4j
|
||||
public class TwoFactorAuthUtilsTest {
|
||||
class TwoFactorAuthUtilsTest {
|
||||
|
||||
@Test
|
||||
public void checkTFACodeTest() {
|
||||
void checkTFACodeTest() {
|
||||
// generate new key
|
||||
final String key = TwoFactorAuthUtils.generateTFAKey();
|
||||
// generate url
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
@ -13,10 +13,10 @@ import java.net.URISyntaxException;
|
|||
* @date 3/26/19
|
||||
*/
|
||||
@Slf4j
|
||||
public class URITest {
|
||||
class URITest {
|
||||
|
||||
@Test
|
||||
public void createURITest() throws URISyntaxException {
|
||||
void createURITest() throws URISyntaxException {
|
||||
String homeDir = System.getProperty("user.home");
|
||||
URI uri = new URI(homeDir);
|
||||
log.debug("[{}]", uri);
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
package run.halo.app.utils;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import run.halo.app.handler.theme.config.impl.YamlThemeConfigResolverImpl;
|
||||
import run.halo.app.handler.theme.config.support.Group;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* Yaml test.
|
||||
|
@ -16,12 +15,12 @@ import static org.junit.Assert.assertThat;
|
|||
* @author johnniang
|
||||
* @date 4/8/19
|
||||
*/
|
||||
public class YamlTest {
|
||||
class YamlTest {
|
||||
|
||||
private final YamlThemeConfigResolverImpl resolver = new YamlThemeConfigResolverImpl();
|
||||
final YamlThemeConfigResolverImpl resolver = new YamlThemeConfigResolverImpl();
|
||||
|
||||
@Test
|
||||
public void readYamlTest() throws IOException {
|
||||
void readYamlTest() throws IOException {
|
||||
|
||||
String yaml = "sns:\n" +
|
||||
" label: 社交资料设置\n" +
|
||||
|
@ -64,13 +63,13 @@ public class YamlTest {
|
|||
|
||||
List<Group> groups = resolver.resolve(yaml);
|
||||
|
||||
assertThat(groups.size(), equalTo(2));
|
||||
assertThat(groups.get(0).getItems().size(), equalTo(3));
|
||||
assertThat(groups.get(1).getItems().size(), equalTo(2));
|
||||
assertEquals(2, groups.size());
|
||||
assertEquals(3, groups.get(0).getItems().size());
|
||||
assertEquals(2, groups.get(1).getItems().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readAnotherYamlTest() throws IOException {
|
||||
void readAnotherYamlTest() throws IOException {
|
||||
String yaml = "sns:\n" +
|
||||
" label: 社交资料设置\n" +
|
||||
" items:\n" +
|
||||
|
@ -120,13 +119,13 @@ public class YamlTest {
|
|||
|
||||
List<Group> groups = resolver.resolve(yaml);
|
||||
|
||||
assertThat(groups.size(), equalTo(2));
|
||||
assertThat(groups.get(0).getItems().size(), equalTo(4));
|
||||
assertThat(groups.get(1).getItems().size(), equalTo(3));
|
||||
assertEquals(2, groups.size());
|
||||
assertEquals(4, groups.get(0).getItems().size());
|
||||
assertEquals(3, groups.get(1).getItems().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertYamlTest() throws IOException {
|
||||
void convertYamlTest() throws IOException {
|
||||
String yaml = "- name: sns\n" +
|
||||
" label: 社交资料设置\n" +
|
||||
" items:\n" +
|
||||
|
@ -175,10 +174,10 @@ public class YamlTest {
|
|||
|
||||
List<Group> groups = resolver.resolve(yaml);
|
||||
|
||||
assertThat(groups.size(), equalTo(2));
|
||||
assertThat(groups.get(0).getItems().size(), equalTo(4));
|
||||
assertThat(groups.get(1).getItems().size(), equalTo(3));
|
||||
assertThat(groups.get(0).getItems().get(0).getOptions().size(), equalTo(2));
|
||||
assertEquals(2, groups.size());
|
||||
assertEquals(4, groups.get(0).getItems().size());
|
||||
assertEquals(3, groups.get(1).getItems().size());
|
||||
assertEquals(2, groups.get(0).getItems().get(0).getOptions().size());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue