You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.4 KiB
71 lines
2.4 KiB
/*
|
|
* Copyright (c) 2023 - 2024. KeyWare.Co.Ltd All rights reserved.
|
|
* 项目名称:信息安全性设计准则检查插件
|
|
* 项目描述:用于检查源代码的安全性设计准则的Sonarqube插件
|
|
* 版权说明:本软件属北京关键科技股份有限公司所有,在未获得北京关键科技股份有限公司正式授权情况下,任何企业和个人,不能获取、阅读、安装、传播本软件涉及的任何受知识产权保护的内容。
|
|
*/
|
|
package com.keyware.sonar.java;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
import org.sonar.api.*;
|
|
import org.sonar.api.config.PropertyDefinition;
|
|
import org.sonar.api.utils.Version;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
/**
|
|
* TODO JavaSecurityDesignRulesPluginTest
|
|
*
|
|
* @author GuoXin
|
|
* @date 2024/1/6
|
|
*/
|
|
public class JavaSecurityDesignRulesPluginTest {
|
|
@Test
|
|
void testName() {
|
|
Plugin.Context context = new Plugin.Context(new MockedSonarRuntime());
|
|
|
|
new JavaSecurityDesignRulesPlugin().define(context);
|
|
|
|
assertThat(context.getExtensions())
|
|
.extracting((ext) -> {
|
|
var type = ext.getClass().getSimpleName();
|
|
if("Class".equals(type)){
|
|
return ((Class) ext).getSimpleName();
|
|
}else if("PropertyDefinition".equals(type)){
|
|
return ((PropertyDefinition) ext).name();
|
|
}
|
|
return ext.getClass().getSimpleName();
|
|
})
|
|
.containsExactlyInAnyOrder(
|
|
"JavaSecurityDesignRulesRepository",
|
|
"JavaSecurityDesignWayProfile",
|
|
"JavaFileCheckRegistrar"
|
|
// "ConfigurationFileLanguage",
|
|
// "ConfigFileSquidSensor",
|
|
// "File Suffixes"
|
|
);
|
|
}
|
|
|
|
public static class MockedSonarRuntime implements SonarRuntime {
|
|
|
|
@Override
|
|
public Version getApiVersion() {
|
|
return Version.create(9, 9);
|
|
}
|
|
|
|
@Override
|
|
public SonarProduct getProduct() {
|
|
return SonarProduct.SONARQUBE;
|
|
}
|
|
|
|
@Override
|
|
public SonarQubeSide getSonarQubeSide() {
|
|
return SonarQubeSide.SCANNER;
|
|
}
|
|
|
|
@Override
|
|
public SonarEdition getEdition() {
|
|
return SonarEdition.COMMUNITY;
|
|
}
|
|
}
|
|
}
|
|
|