From dcd2fcec94fa38583c67d6d393650024a6574ee0 Mon Sep 17 00:00:00 2001 From: wjm0729 Date: Thu, 31 Dec 2020 11:34:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?console-ui=20config=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20(#4599)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ignore * config 列表支持排序 * remove local cfg --- .gitignore | 2 +- .../ConfigurationManagement.js | 36 ++++++++++++++++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 1be201a2afb..4eff9a536e6 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,4 @@ derby.log work test/logs derby.log -yarn.lock \ No newline at end of file +yarn.lock diff --git a/console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js b/console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js index 551eae66994..cad31ad6c45 100644 --- a/console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js +++ b/console-ui/src/pages/ConfigurationManagement/ConfigurationManagement/ConfigurationManagement.js @@ -177,9 +177,25 @@ class ConfigurationManagement extends React.Component { hasdash: false, }); } else { + // 前端默认排序 + let sortList = []; + for (let j = 0, len = res.data.length; j < len; j++) { + let item = res.data[j]; + sortList.push({ + k: item.appName || '' + item.group || '' + item.dataId || '', + v: item, + }); + } + sortList.sort(function(a, b) { + return a.k.localeCompare(b.k); + }); + let showList = []; + for (let j = 0, len = sortList.length; j < len; j++) { + showList.push(sortList[j].v); + } this.setState({ hasdash: true, - contentList: res.data, + contentList: showList, }); } } @@ -425,6 +441,15 @@ class ConfigurationManagement extends React.Component { ); } + onChangeSort(dataIndex, order) { + this.dataSource.sort(function(a, b) { + if (order === 'asc') { + return (a[dataIndex] + '').localeCompare(b[dataIndex] + ''); + } + return (b[dataIndex] + '').localeCompare(a[dataIndex] + ''); + }); + } + handlePageSizeChange(pageSize) { this.setState({ pageSize }, () => this.changePage(1)); } @@ -1363,10 +1388,13 @@ class ConfigurationManagement extends React.Component { ref="dataTable" loading={this.state.loading} rowSelection={this.state.rowSelection} + onSort={this.onChangeSort} > - - - {!this.inApp && } + + + {!this.inApp && ( + + )} {configurations.totalCount > 0 && ( From 2af6784f555a201b65c9b618be2f5dd7a8576c60 Mon Sep 17 00:00:00 2001 From: "mai.jh" Date: Thu, 31 Dec 2020 15:48:26 +0800 Subject: [PATCH 2/3] for #4594,#4594 Fix IO close problem. (#4606) --- .../config/impl/ConfigHttpClientManager.java | 2 +- .../config/utils/ConcurrentDiskUtil.java | 3 +- .../naming/cache/ConcurrentDiskUtil.java | 4 ++- .../client/request/JdkHttpClientRequest.java | 9 ++++-- .../client/response/HttpClientResponse.java | 4 +-- .../alibaba/nacos/common/utils/IoUtils.java | 28 +++++-------------- .../nacos/common/utils/ResourceUtils.java | 2 +- .../server/controller/ConfigServletInner.java | 5 ++-- .../LocalDataSourceServiceImpl.java | 13 ++------- .../persistent/raft/RaftStore.java | 8 +----- ...NacosRestTemplate_Interceptors_ITCase.java | 2 +- 11 files changed, 28 insertions(+), 52 deletions(-) diff --git a/client/src/main/java/com/alibaba/nacos/client/config/impl/ConfigHttpClientManager.java b/client/src/main/java/com/alibaba/nacos/client/config/impl/ConfigHttpClientManager.java index 158c336da37..341bf45f3ad 100644 --- a/client/src/main/java/com/alibaba/nacos/client/config/impl/ConfigHttpClientManager.java +++ b/client/src/main/java/com/alibaba/nacos/client/config/impl/ConfigHttpClientManager.java @@ -164,7 +164,7 @@ public String getStatusText() { } @Override - public void close() throws IOException { + public void close() { } } diff --git a/client/src/main/java/com/alibaba/nacos/client/config/utils/ConcurrentDiskUtil.java b/client/src/main/java/com/alibaba/nacos/client/config/utils/ConcurrentDiskUtil.java index c066f5842f1..e8bc59b4f5f 100644 --- a/client/src/main/java/com/alibaba/nacos/client/config/utils/ConcurrentDiskUtil.java +++ b/client/src/main/java/com/alibaba/nacos/client/config/utils/ConcurrentDiskUtil.java @@ -16,6 +16,7 @@ package com.alibaba.nacos.client.config.utils; +import com.alibaba.nacos.common.utils.IoUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -89,7 +90,7 @@ public static String getFileContent(File file, String charsetName) throws IOExce rlock = null; } if (fis != null) { - fis.close(); + IoUtils.closeQuietly(fis); fis = null; } } diff --git a/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java b/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java index d227a6edd26..eabb40eb3de 100644 --- a/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java +++ b/client/src/main/java/com/alibaba/nacos/client/naming/cache/ConcurrentDiskUtil.java @@ -16,6 +16,8 @@ package com.alibaba.nacos.client.naming.cache; +import com.alibaba.nacos.common.utils.IoUtils; + import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -88,7 +90,7 @@ public static String getFileContent(File file, String charsetName) throws IOExce rlock = null; } if (fis != null) { - fis.close(); + IoUtils.closeQuietly(fis); fis = null; } } diff --git a/common/src/main/java/com/alibaba/nacos/common/http/client/request/JdkHttpClientRequest.java b/common/src/main/java/com/alibaba/nacos/common/http/client/request/JdkHttpClientRequest.java index fd921158c33..23f2be8d340 100644 --- a/common/src/main/java/com/alibaba/nacos/common/http/client/request/JdkHttpClientRequest.java +++ b/common/src/main/java/com/alibaba/nacos/common/http/client/request/JdkHttpClientRequest.java @@ -24,12 +24,14 @@ import com.alibaba.nacos.common.http.param.Header; import com.alibaba.nacos.common.http.param.MediaType; import com.alibaba.nacos.common.model.RequestHttpEntity; +import com.alibaba.nacos.common.utils.IoUtils; import com.alibaba.nacos.common.utils.JacksonUtils; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import java.io.IOException; +import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URI; import java.util.HashMap; @@ -101,9 +103,10 @@ public HttpClientResponse execute(URI uri, String httpMethod, RequestHttpEntity conn.setDoOutput(true); byte[] b = bodyStr.getBytes(); conn.setRequestProperty("Content-Length", String.valueOf(b.length)); - conn.getOutputStream().write(b, 0, b.length); - conn.getOutputStream().flush(); - conn.getOutputStream().close(); + OutputStream outputStream = conn.getOutputStream(); + outputStream.write(b, 0, b.length); + outputStream.flush(); + IoUtils.closeQuietly(outputStream); } } conn.connect(); diff --git a/common/src/main/java/com/alibaba/nacos/common/http/client/response/HttpClientResponse.java b/common/src/main/java/com/alibaba/nacos/common/http/client/response/HttpClientResponse.java index 35c4c5cd79f..db958e91867 100644 --- a/common/src/main/java/com/alibaba/nacos/common/http/client/response/HttpClientResponse.java +++ b/common/src/main/java/com/alibaba/nacos/common/http/client/response/HttpClientResponse.java @@ -62,9 +62,7 @@ public interface HttpClientResponse extends Closeable { /** * close response InputStream. - * - * @throws IOException ex */ @Override - void close() throws IOException; + void close(); } diff --git a/common/src/main/java/com/alibaba/nacos/common/utils/IoUtils.java b/common/src/main/java/com/alibaba/nacos/common/utils/IoUtils.java index c38de6dad3b..50c56110da4 100644 --- a/common/src/main/java/com/alibaba/nacos/common/utils/IoUtils.java +++ b/common/src/main/java/com/alibaba/nacos/common/utils/IoUtils.java @@ -63,12 +63,8 @@ public static byte[] tryDecompress(InputStream raw) throws IOException { } catch (IOException e) { e.printStackTrace(); } finally { - if (out != null) { - out.close(); - } - if (gis != null) { - gis.close(); - } + closeQuietly(out); + closeQuietly(gis); } return null; @@ -94,12 +90,8 @@ public static byte[] tryDecompress(byte[] raw) throws Exception { IoUtils.copy(gis, out); return out.toByteArray(); } finally { - if (out != null) { - out.close(); - } - if (gis != null) { - gis.close(); - } + closeQuietly(out); + closeQuietly(gis); } } @@ -122,9 +114,7 @@ public static void writeStringToFile(File file, String data, String encoding) th os.write(data.getBytes(encoding)); os.flush(); } finally { - if (null != os) { - os.close(); - } + closeQuietly(os); } } @@ -311,12 +301,8 @@ public static void copyFile(String source, String target) throws IOException { sc = new FileInputStream(sf).getChannel(); sc.transferTo(0, sc.size(), tc); } finally { - if (null != sc) { - sc.close(); - } - if (null != tc) { - tc.close(); - } + closeQuietly(sc); + closeQuietly(tc); } } diff --git a/common/src/main/java/com/alibaba/nacos/common/utils/ResourceUtils.java b/common/src/main/java/com/alibaba/nacos/common/utils/ResourceUtils.java index 61bdfa4ba34..72f493962a8 100644 --- a/common/src/main/java/com/alibaba/nacos/common/utils/ResourceUtils.java +++ b/common/src/main/java/com/alibaba/nacos/common/utils/ResourceUtils.java @@ -143,7 +143,7 @@ public static Properties getResourceAsProperties(ClassLoader loader, String reso Properties props = new Properties(); InputStream in = getResourceAsStream(loader, resource); props.load(in); - in.close(); + IoUtils.closeQuietly(in); return props; } diff --git a/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java b/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java index 03ae91d6236..65424b4e3f3 100755 --- a/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java +++ b/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java @@ -17,6 +17,7 @@ package com.alibaba.nacos.config.server.controller; import com.alibaba.nacos.common.constant.HttpHeaderConsts; +import com.alibaba.nacos.common.utils.IoUtils; import com.alibaba.nacos.config.server.constant.Constants; import com.alibaba.nacos.config.server.enums.FileTypeEnum; import com.alibaba.nacos.config.server.model.CacheItem; @@ -276,9 +277,7 @@ public String doGetConfig(HttpServletRequest request, HttpServletResponse respon } finally { releaseConfigReadLock(groupKey); - if (null != fis) { - fis.close(); - } + IoUtils.closeQuietly(fis); } } else if (lockResult == 0) { diff --git a/config/src/main/java/com/alibaba/nacos/config/server/service/datasource/LocalDataSourceServiceImpl.java b/config/src/main/java/com/alibaba/nacos/config/server/service/datasource/LocalDataSourceServiceImpl.java index 81f4c1db637..7df69b97c84 100644 --- a/config/src/main/java/com/alibaba/nacos/config/server/service/datasource/LocalDataSourceServiceImpl.java +++ b/config/src/main/java/com/alibaba/nacos/config/server/service/datasource/LocalDataSourceServiceImpl.java @@ -18,6 +18,7 @@ import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.exception.runtime.NacosRuntimeException; +import com.alibaba.nacos.common.utils.IoUtils; import com.alibaba.nacos.config.server.constant.Constants; import com.alibaba.nacos.config.server.utils.LogUtil; import com.alibaba.nacos.config.server.utils.PropertyUtil; @@ -235,9 +236,7 @@ private List loadSql(String sqlFile) throws Exception { } catch (Exception ex) { throw new Exception(ex.getMessage()); } finally { - if (sqlFileIn != null) { - sqlFileIn.close(); - } + IoUtils.closeQuietly(sqlFileIn); } } @@ -249,10 +248,8 @@ private List loadSql(String sqlFile) throws Exception { * @throws Exception Exception. */ private void execute(Connection conn, String sqlFile) throws Exception { - Statement stmt = null; - try { + try (Statement stmt = conn.createStatement()) { List sqlList = loadSql(sqlFile); - stmt = conn.createStatement(); for (String sql : sqlList) { try { stmt.execute(sql); @@ -260,10 +257,6 @@ private void execute(Connection conn, String sqlFile) throws Exception { LogUtil.DEFAULT_LOG.warn(e.getMessage()); } } - } finally { - if (stmt != null) { - stmt.close(); - } } } diff --git a/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftStore.java b/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftStore.java index 5a56c60ee03..4b8617b6920 100644 --- a/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftStore.java +++ b/naming/src/main/java/com/alibaba/nacos/naming/consistency/persistent/raft/RaftStore.java @@ -261,22 +261,16 @@ public synchronized void write(final Datum datum) throws Exception { throw new IllegalStateException("can not make cache file: " + cacheFile.getName()); } - FileChannel fc = null; ByteBuffer data; data = ByteBuffer.wrap(JacksonUtils.toJson(datum).getBytes(StandardCharsets.UTF_8)); - try { - fc = new FileOutputStream(cacheFile, false).getChannel(); + try (FileChannel fc = new FileOutputStream(cacheFile, false).getChannel()) { fc.write(data, data.position()); fc.force(true); } catch (Exception e) { MetricsMonitor.getDiskException().increment(); throw e; - } finally { - if (fc != null) { - fc.close(); - } } // remove old format file: diff --git a/test/src/test/java/com/alibaba/nacos/test/common/NacosRestTemplate_Interceptors_ITCase.java b/test/src/test/java/com/alibaba/nacos/test/common/NacosRestTemplate_Interceptors_ITCase.java index e6cef465118..ff220110d2e 100644 --- a/test/src/test/java/com/alibaba/nacos/test/common/NacosRestTemplate_Interceptors_ITCase.java +++ b/test/src/test/java/com/alibaba/nacos/test/common/NacosRestTemplate_Interceptors_ITCase.java @@ -91,7 +91,7 @@ public String getStatusText() { } @Override - public void close() throws IOException { + public void close() { } }; From 4da3c82895e62fce55145be1164f42d89b532542 Mon Sep 17 00:00:00 2001 From: wjm0729 Date: Thu, 31 Dec 2020 15:50:07 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=20FileTypeEnum=20?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E9=80=BB=E8=BE=91,=20=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=BC=82=E5=B8=B8=E5=BD=93=E4=BD=9C=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=88=86=E6=94=AF=20(#4607)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 优化 FileTypeEnum 取值逻辑, 避免使用异常当作逻辑分支 异常的代价是很大的, 非必要情况下. 应该尽量避免 * comment * comment * license --- .../server/controller/ConfigServletInner.java | 11 +--- .../config/server/enums/FileTypeEnum.java | 21 +++++++ .../EmbeddedStoragePersistServiceImpl.java | 16 ++--- .../ExternalStoragePersistServiceImpl.java | 10 +-- .../test/common/FileTypeEnum_ITCase.java | 62 +++++++++++++++++++ 5 files changed, 94 insertions(+), 26 deletions(-) create mode 100644 test/src/test/java/com/alibaba/nacos/test/common/FileTypeEnum_ITCase.java diff --git a/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java b/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java index 65424b4e3f3..b7cc2da2e6f 100755 --- a/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java +++ b/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigServletInner.java @@ -139,17 +139,12 @@ public String doGetConfig(HttpServletRequest request, HttpServletResponse respon isBeta = true; } } - + final String configType = (null != cacheItem.getType()) ? cacheItem.getType() : FileTypeEnum.TEXT.getFileType(); response.setHeader("Config-Type", configType); - - String contentTypeHeader; - try { - contentTypeHeader = FileTypeEnum.valueOf(configType.toUpperCase()).getContentType(); - } catch (IllegalArgumentException ex) { - contentTypeHeader = FileTypeEnum.TEXT.getContentType(); - } + FileTypeEnum fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType(configType); + String contentTypeHeader = fileTypeEnum.getContentType(); response.setHeader(HttpHeaderConsts.CONTENT_TYPE, contentTypeHeader); } File file = null; diff --git a/config/src/main/java/com/alibaba/nacos/config/server/enums/FileTypeEnum.java b/config/src/main/java/com/alibaba/nacos/config/server/enums/FileTypeEnum.java index 293d052da46..42e56352721 100644 --- a/config/src/main/java/com/alibaba/nacos/config/server/enums/FileTypeEnum.java +++ b/config/src/main/java/com/alibaba/nacos/config/server/enums/FileTypeEnum.java @@ -17,6 +17,7 @@ package com.alibaba.nacos.config.server.enums; import com.alibaba.nacos.common.http.param.MediaType; +import com.alibaba.nacos.common.utils.StringUtils; /** * Config file type enum. @@ -98,4 +99,24 @@ public String getFileType() { public String getContentType() { return contentType; } + + /** + * Get the corresponding FileTypeEnum by file extension or fileType. If not found FileTypeEnum.TEXT is returned + * + * @param extOrFileType file extension or fileType + * @return + */ + public static FileTypeEnum getFileTypeEnumByFileExtensionOrFileType(String extOrFileType) { + if (StringUtils.isNotBlank(extOrFileType)) { + String upperExtName = extOrFileType.trim().toUpperCase(); + for (FileTypeEnum value : VALUES) { + if (value.name().equals(upperExtName)) { + return value; + } + } + } + return FileTypeEnum.TEXT; + } + + private static final FileTypeEnum[] VALUES = FileTypeEnum.values(); } diff --git a/config/src/main/java/com/alibaba/nacos/config/server/service/repository/embedded/EmbeddedStoragePersistServiceImpl.java b/config/src/main/java/com/alibaba/nacos/config/server/service/repository/embedded/EmbeddedStoragePersistServiceImpl.java index 6e5d2d039fd..23cc0c89fe9 100755 --- a/config/src/main/java/com/alibaba/nacos/config/server/service/repository/embedded/EmbeddedStoragePersistServiceImpl.java +++ b/config/src/main/java/com/alibaba/nacos/config/server/service/repository/embedded/EmbeddedStoragePersistServiceImpl.java @@ -1125,8 +1125,7 @@ public List getTenantIdList(int page, int pageSize) { Page> pageList = helper .fetchPageLimit(sql, new Object[] {from, pageSize}, page, pageSize, MAP_ROW_MAPPER); - return pageList.getPageItems().stream() - .map(map -> String.valueOf(map.get("TENANT_ID"))) + return pageList.getPageItems().stream().map(map -> String.valueOf(map.get("TENANT_ID"))) .collect(Collectors.toList()); } @@ -1139,8 +1138,7 @@ public List getGroupIdList(int page, int pageSize) { Page> pageList = helper .fetchPageLimit(sql, new Object[] {from, pageSize}, page, pageSize, MAP_ROW_MAPPER); - return pageList.getPageItems().stream() - .map(map -> String.valueOf(map.get("GROUP_ID"))) + return pageList.getPageItems().stream().map(map -> String.valueOf(map.get("GROUP_ID"))) .collect(Collectors.toList()); } @@ -2344,13 +2342,9 @@ public Map batchInsertOrUpdate(List configInfoLis if (StringUtils.isBlank(type)) { // simple judgment of file type based on suffix if (configInfo.getDataId().contains(SPOT)) { - String extName = configInfo.getDataId().substring(configInfo.getDataId().lastIndexOf(SPOT) + 1) - .toUpperCase(); - try { - type = FileTypeEnum.valueOf(extName.toUpperCase()).getFileType(); - } catch (Throwable ex) { - type = FileTypeEnum.TEXT.getFileType(); - } + String extName = configInfo.getDataId().substring(configInfo.getDataId().lastIndexOf(SPOT) + 1); + FileTypeEnum fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType(extName); + type = fileTypeEnum.getFileType(); } } if (configAdvanceInfo == null) { diff --git a/config/src/main/java/com/alibaba/nacos/config/server/service/repository/extrnal/ExternalStoragePersistServiceImpl.java b/config/src/main/java/com/alibaba/nacos/config/server/service/repository/extrnal/ExternalStoragePersistServiceImpl.java index ca7efad8e0b..017e755852e 100644 --- a/config/src/main/java/com/alibaba/nacos/config/server/service/repository/extrnal/ExternalStoragePersistServiceImpl.java +++ b/config/src/main/java/com/alibaba/nacos/config/server/service/repository/extrnal/ExternalStoragePersistServiceImpl.java @@ -2590,13 +2590,9 @@ public Map batchInsertOrUpdate(List configInfoLis if (StringUtils.isBlank(type)) { // simple judgment of file type based on suffix if (configInfo.getDataId().contains(SPOT)) { - String extName = configInfo.getDataId().substring(configInfo.getDataId().lastIndexOf(SPOT) + 1) - .toUpperCase(); - try { - type = FileTypeEnum.valueOf(extName.toUpperCase()).getFileType(); - } catch (Exception ex) { - type = FileTypeEnum.TEXT.getFileType(); - } + String extName = configInfo.getDataId().substring(configInfo.getDataId().lastIndexOf(SPOT) + 1); + FileTypeEnum fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType(extName); + type = fileTypeEnum.getFileType(); } } if (configAdvanceInfo == null) { diff --git a/test/src/test/java/com/alibaba/nacos/test/common/FileTypeEnum_ITCase.java b/test/src/test/java/com/alibaba/nacos/test/common/FileTypeEnum_ITCase.java new file mode 100644 index 00000000000..f5841dfd4ae --- /dev/null +++ b/test/src/test/java/com/alibaba/nacos/test/common/FileTypeEnum_ITCase.java @@ -0,0 +1,62 @@ +/* + * Copyright 1999-2018 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.alibaba.nacos.test.common; + +import com.alibaba.nacos.config.server.enums.FileTypeEnum; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author by jiangmin.wu on 2020/12/30 + */ +public class FileTypeEnum_ITCase { + + @Test + public void fileTypeEnum_test1() { + for (FileTypeEnum value : FileTypeEnum.values()) { + FileTypeEnum fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType(value.name()); + Assert.assertEquals(fileTypeEnum, value); + } + } + + @Test + public void fileTypeEnum_test2() { + for (FileTypeEnum value : FileTypeEnum.values()) { + FileTypeEnum fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType(value.getFileType()); + Assert.assertNotNull(fileTypeEnum); + } + } + + @Test + public void fileTypeEnum_test3() { + FileTypeEnum fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType("t"); + Assert.assertEquals(fileTypeEnum, FileTypeEnum.TEXT); + + fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType(""); + Assert.assertEquals(fileTypeEnum, FileTypeEnum.TEXT); + + fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType("."); + Assert.assertEquals(fileTypeEnum, FileTypeEnum.TEXT); + + fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType("1"); + Assert.assertEquals(fileTypeEnum, FileTypeEnum.TEXT); + + fileTypeEnum = FileTypeEnum.getFileTypeEnumByFileExtensionOrFileType(null); + Assert.assertEquals(fileTypeEnum, FileTypeEnum.TEXT); + } + +}