Skip to content

Commit 24a36bc

Browse files
committed
引入IT rest集成测试
1. 引入rest-spec-it 2. 修改end_point参数名
1 parent 44af3a7 commit 24a36bc

File tree

8 files changed

+387
-30
lines changed

8 files changed

+387
-30
lines changed

build.gradle

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import org.elasticsearch.gradle.MavenFilteringHack
2+
13
buildscript {
24
ext {
35
pluginName = project.properties['pluginName']
@@ -74,6 +76,7 @@ bundlePlugin {
7476

7577
test {
7678
exclude '**/CosRepositoryThirdPartyTests.class'
79+
dependsOn processTestResources
7780
}
7881

7982
String cosAccessKeyId = System.getenv("qcloud_cos_access_key_id")
@@ -96,6 +99,21 @@ thirdPartyTest {
9699
dependsOn tasks.bundlePlugin
97100
}
98101

102+
processTestResources {
103+
Map<String, Object> expansions = [
104+
'accessKeyId': cosAccessKeyId,
105+
'accessKeySecret': cosAccessKeySecret,
106+
'cosBucket': cosBucket,
107+
'cosBasePath': cosBasePath,
108+
]
109+
inputs.properties(expansions)
110+
MavenFilteringHack.filter(it, expansions)
111+
}
112+
113+
integTest {
114+
dependsOn processTestResources
115+
}
116+
99117
// elasticsearch.esplugin task configure
100118
checkstyleMain.enabled = false
101119
checkstyleTest.enabled = false
Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.elasticsearch.repositories.cos;
22

3-
import org.elasticsearch.common.settings.SecureSetting;
4-
import org.elasticsearch.common.settings.SecureString;
53
import org.elasticsearch.common.settings.Setting;
64
import org.elasticsearch.common.unit.ByteSizeUnit;
75
import org.elasticsearch.common.unit.ByteSizeValue;
@@ -13,13 +11,13 @@ public class COSClientSettings {
1311
private static final ByteSizeValue MAX_CHUNK_SIZE = new ByteSizeValue(1, ByteSizeUnit.GB);
1412

1513
public static final Setting<String> REGION =
16-
Setting.simpleString("region", Property.NodeScope, Property.Dynamic);
17-
public static final Setting<SecureString> ACCESS_KEY_ID =
18-
SecureSetting.secureString("access_key_id", null);
19-
public static final Setting<SecureString> ACCESS_KEY_SECRET =
20-
SecureSetting.secureString("access_key_secret", null);
21-
public static final Setting<String> APP_ID = Setting
22-
.simpleString("app_id", "", Setting.Property.NodeScope, Setting.Property.Dynamic);
14+
simpleString("region", Property.NodeScope, Property.Dynamic);
15+
public static final Setting<String> ACCESS_KEY_ID =
16+
simpleString("access_key_id", Setting.Property.NodeScope, Setting.Property.Dynamic);
17+
public static final Setting<String> ACCESS_KEY_SECRET =
18+
simpleString("access_key_secret", Setting.Property.NodeScope, Setting.Property.Dynamic);
19+
public static final Setting<String> APP_ID =
20+
simpleString("app_id", "", Setting.Property.NodeScope, Setting.Property.Dynamic);
2321
public static final Setting<String> BUCKET =
2422
simpleString("bucket", Setting.Property.NodeScope, Setting.Property.Dynamic);
2523
public static final Setting<String> BASE_PATH =
@@ -29,5 +27,5 @@ public class COSClientSettings {
2927
public static final Setting<ByteSizeValue> CHUNK_SIZE =
3028
byteSizeSetting("chunk_size", MAX_CHUNK_SIZE, MIN_CHUNK_SIZE, MAX_CHUNK_SIZE,
3129
Setting.Property.NodeScope, Setting.Property.Dynamic);
32-
public static final Setting<String> CosEndPoint = Setting.simpleString("cosEndPoint", "", Property.NodeScope, Property.Dynamic);
30+
public static final Setting<String> END_POINT = Setting.simpleString("end_point", "", Property.NodeScope, Property.Dynamic);
3331
}

src/main/java/org/elasticsearch/repositories/cos/COSRepositoryPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ public Map<String, Repository.Factory> getRepositories(final Environment env,
3535
public List<Setting<?>> getSettings() {
3636
return Arrays.asList(COSClientSettings.REGION, COSClientSettings.ACCESS_KEY_ID, COSClientSettings.ACCESS_KEY_SECRET,
3737
COSClientSettings.APP_ID, COSClientSettings.BUCKET,
38-
COSClientSettings.BASE_PATH, COSClientSettings.COMPRESS, COSClientSettings.CHUNK_SIZE, COSClientSettings.CosEndPoint);
38+
COSClientSettings.BASE_PATH, COSClientSettings.COMPRESS, COSClientSettings.CHUNK_SIZE, COSClientSettings.END_POINT);
3939
}
4040
}

src/main/java/org/elasticsearch/repositories/cos/COSService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ public class COSService implements Closeable {
2525
}
2626

2727
private synchronized COSClient createClient(RepositoryMetaData metaData) {
28-
String access_key_id = COSClientSettings.ACCESS_KEY_ID.get(metaData.settings()).toString();
29-
String access_key_secret = COSClientSettings.ACCESS_KEY_SECRET.get(metaData.settings()).toString();
28+
String access_key_id = COSClientSettings.ACCESS_KEY_ID.get(metaData.settings());
29+
String access_key_secret = COSClientSettings.ACCESS_KEY_SECRET.get(metaData.settings());
3030
String region = COSClientSettings.REGION.get(metaData.settings());
3131
if (region == null || !Strings.hasLength(region)) {
3232
throw new RepositoryException(metaData.name(), "No region defined for cos repository");
3333
}
34-
String endPoint = COSClientSettings.CosEndPoint.get(metaData.settings());
34+
String endPoint = COSClientSettings.END_POINT.get(metaData.settings());
3535

3636
COSCredentials cred = new BasicCOSCredentials(access_key_id, access_key_secret);
3737
ClientConfig clientConfig = new ClientConfig(new Region(region));
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.elasticsearch.repositories.cos;
2+
3+
import com.carrotsearch.randomizedtesting.annotations.Name;
4+
import com.carrotsearch.randomizedtesting.annotations.ParametersFactory;
5+
import org.elasticsearch.test.rest.yaml.ClientYamlTestCandidate;
6+
import org.elasticsearch.test.rest.yaml.ESClientYamlSuiteTestCase;
7+
8+
public class RepositoryCosClientYamlTestSuiteIT extends ESClientYamlSuiteTestCase {
9+
10+
public RepositoryCosClientYamlTestSuiteIT(@Name("yaml")ClientYamlTestCandidate testCandidate) {
11+
super(testCandidate);
12+
}
13+
14+
@ParametersFactory
15+
public static Iterable<Object[]> parameters() throws Exception {
16+
return ESClientYamlSuiteTestCase.createParameters();
17+
}
18+
}

src/test/resources/rest-api-spec.test.repository_cos/10_basic.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Integration tests for repository-cos
2+
#
3+
"Plugin repository-cos is loaded":
4+
- skip:
5+
reason: "contains is a newly added assertion"
6+
features: contains
7+
- do:
8+
cluster.state: {}
9+
10+
# Get master node id
11+
- set: { master_node: master }
12+
13+
- do:
14+
nodes.info: {}
15+
16+
- contains: { nodes.$master.plugins: { name: CosRepository } }

0 commit comments

Comments
 (0)