Skip to content

Commit fc40ac0

Browse files
committed
test project-id field
1 parent e79f94f commit fc40ac0

File tree

10 files changed

+113
-20
lines changed

10 files changed

+113
-20
lines changed

modules/repository-azure/src/test/java/org/elasticsearch/repositories/azure/AzureRepositorySettingsTests.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
package org.elasticsearch.repositories.azure;
1111

12+
import org.elasticsearch.cluster.metadata.ProjectId;
1213
import org.elasticsearch.cluster.metadata.RepositoryMetadata;
1314
import org.elasticsearch.common.settings.ClusterSettings;
1415
import org.elasticsearch.common.settings.Settings;
@@ -23,6 +24,7 @@
2324
import org.elasticsearch.xcontent.NamedXContentRegistry;
2425

2526
import static org.elasticsearch.repositories.blobstore.BlobStoreRepository.READONLY_SETTING_KEY;
27+
import static org.hamcrest.Matchers.equalTo;
2628
import static org.hamcrest.Matchers.is;
2729
import static org.hamcrest.Matchers.nullValue;
2830
import static org.mockito.Mockito.mock;
@@ -35,8 +37,9 @@ private AzureRepository azureRepository(Settings settings) {
3537
.putList(Environment.PATH_DATA_SETTING.getKey(), tmpPaths())
3638
.put(settings)
3739
.build();
40+
final ProjectId projectId = randomProjectIdOrDefault();
3841
final AzureRepository azureRepository = new AzureRepository(
39-
randomProjectIdOrDefault(),
42+
projectId,
4043
new RepositoryMetadata("foo", "azure", internalSettings),
4144
NamedXContentRegistry.EMPTY,
4245
mock(AzureStorageService.class),
@@ -45,6 +48,7 @@ private AzureRepository azureRepository(Settings settings) {
4548
new RecoverySettings(settings, new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS)),
4649
RepositoriesMetrics.NOOP
4750
);
51+
assertThat(azureRepository.getProjectId(), equalTo(projectId));
4852
assertThat(azureRepository.getBlobStore(), is(nullValue()));
4953
return azureRepository;
5054
}

modules/repository-gcs/src/test/java/org/elasticsearch/repositories/gcs/GoogleCloudStoragePluginTests.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,22 @@
99

1010
package org.elasticsearch.repositories.gcs;
1111

12+
import org.elasticsearch.cluster.metadata.RepositoryMetadata;
13+
import org.elasticsearch.common.settings.ClusterSettings;
1214
import org.elasticsearch.common.settings.Setting;
1315
import org.elasticsearch.common.settings.Settings;
16+
import org.elasticsearch.common.util.MockBigArrays;
17+
import org.elasticsearch.indices.recovery.RecoverySettings;
18+
import org.elasticsearch.repositories.blobstore.BlobStoreTestUtil;
1419
import org.elasticsearch.test.ESTestCase;
20+
import org.elasticsearch.xcontent.NamedXContentRegistry;
1521
import org.junit.Assert;
1622

1723
import java.util.List;
1824

25+
import static org.hamcrest.Matchers.equalTo;
26+
import static org.mockito.Mockito.mock;
27+
1928
public class GoogleCloudStoragePluginTests extends ESTestCase {
2029

2130
public void testExposedSettings() {
@@ -37,4 +46,26 @@ public void testExposedSettings() {
3746
settings.stream().map(Setting::getKey).toList()
3847
);
3948
}
49+
50+
public void testRepositoryProjectId() {
51+
final var projectId = randomProjectIdOrDefault();
52+
final var repository = new GoogleCloudStorageRepository(
53+
projectId,
54+
new RepositoryMetadata(
55+
randomIdentifier(),
56+
GoogleCloudStorageRepository.TYPE,
57+
Settings.builder()
58+
.put(GoogleCloudStorageRepository.BUCKET.getKey(), randomIdentifier())
59+
.put(GoogleCloudStorageRepository.BASE_PATH.getKey(), randomIdentifier())
60+
.build()
61+
),
62+
NamedXContentRegistry.EMPTY,
63+
mock(GoogleCloudStorageService.class),
64+
BlobStoreTestUtil.mockClusterService(),
65+
MockBigArrays.NON_RECYCLING_INSTANCE,
66+
new RecoverySettings(Settings.EMPTY, new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS)),
67+
mock(GcsRepositoryStatsCollector.class)
68+
);
69+
assertThat(repository.getProjectId(), equalTo(projectId));
70+
}
4071
}

modules/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3RepositoryTests.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import software.amazon.awssdk.http.SdkHttpClient;
1313
import software.amazon.awssdk.services.s3.S3Client;
1414

15+
import org.elasticsearch.cluster.metadata.ProjectId;
1516
import org.elasticsearch.cluster.metadata.RepositoryMetadata;
1617
import org.elasticsearch.common.ReferenceDocs;
1718
import org.elasticsearch.common.settings.ClusterSettings;
@@ -32,6 +33,7 @@
3233

3334
import static org.hamcrest.Matchers.allOf;
3435
import static org.hamcrest.Matchers.containsString;
36+
import static org.hamcrest.Matchers.equalTo;
3537
import static org.hamcrest.Matchers.is;
3638
import static org.hamcrest.Matchers.not;
3739
import static org.hamcrest.Matchers.nullValue;
@@ -152,8 +154,9 @@ public void testEmptyBucketName() {
152154
}
153155

154156
private S3Repository createS3Repo(RepositoryMetadata metadata) {
155-
return new S3Repository(
156-
randomProjectIdOrDefault(),
157+
final ProjectId projectId = randomProjectIdOrDefault();
158+
final S3Repository s3Repository = new S3Repository(
159+
projectId,
157160
metadata,
158161
NamedXContentRegistry.EMPTY,
159162
new DummyS3Service(mock(Environment.class), mock(ResourceWatcherService.class)),
@@ -162,6 +165,8 @@ private S3Repository createS3Repo(RepositoryMetadata metadata) {
162165
new RecoverySettings(Settings.EMPTY, new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS)),
163166
S3RepositoriesMetrics.NOOP
164167
);
168+
assertThat(s3Repository.getProjectId(), equalTo(projectId));
169+
return s3Repository;
165170
}
166171

167172
public void testAnalysisFailureDetail() {

modules/repository-url/src/test/java/org/elasticsearch/repositories/url/URLRepositoryTests.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
package org.elasticsearch.repositories.url;
1111

12+
import org.elasticsearch.cluster.metadata.ProjectId;
1213
import org.elasticsearch.cluster.metadata.RepositoryMetadata;
1314
import org.elasticsearch.common.blobstore.url.http.URLHttpClient;
1415
import org.elasticsearch.common.settings.ClusterSettings;
@@ -26,6 +27,7 @@
2627
import java.nio.file.Path;
2728
import java.util.Collections;
2829

30+
import static org.hamcrest.CoreMatchers.equalTo;
2931
import static org.hamcrest.CoreMatchers.is;
3032
import static org.hamcrest.CoreMatchers.not;
3133
import static org.hamcrest.CoreMatchers.nullValue;
@@ -34,8 +36,9 @@
3436
public class URLRepositoryTests extends ESTestCase {
3537

3638
private URLRepository createRepository(Settings baseSettings, RepositoryMetadata repositoryMetadata) {
37-
return new URLRepository(
38-
randomProjectIdOrDefault(),
39+
final ProjectId projectId = randomProjectIdOrDefault();
40+
final URLRepository repository = new URLRepository(
41+
projectId,
3942
repositoryMetadata,
4043
TestEnvironment.newEnvironment(baseSettings),
4144
new NamedXContentRegistry(Collections.emptyList()),
@@ -44,6 +47,8 @@ private URLRepository createRepository(Settings baseSettings, RepositoryMetadata
4447
new RecoverySettings(baseSettings, new ClusterSettings(baseSettings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS)),
4548
mock(URLHttpClient.Factory.class)
4649
);
50+
assertThat(repository.getProjectId(), equalTo(projectId));
51+
return repository;
4752
}
4853

4954
public void testWhiteListingRepoURL() throws IOException {

plugins/repository-hdfs/src/test/java/org/elasticsearch/repositories/hdfs/HdfsBlobStoreContainerTests.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,21 @@
1919
import org.apache.hadoop.fs.UnsupportedFileSystemException;
2020
import org.apache.hadoop.fs.permission.FsPermission;
2121
import org.apache.hadoop.util.Progressable;
22+
import org.elasticsearch.cluster.metadata.RepositoryMetadata;
2223
import org.elasticsearch.common.blobstore.BlobContainer;
2324
import org.elasticsearch.common.blobstore.BlobPath;
2425
import org.elasticsearch.common.bytes.BytesArray;
26+
import org.elasticsearch.common.settings.ClusterSettings;
27+
import org.elasticsearch.common.settings.Settings;
28+
import org.elasticsearch.common.util.MockBigArrays;
2529
import org.elasticsearch.core.Streams;
2630
import org.elasticsearch.core.SuppressForbidden;
31+
import org.elasticsearch.env.Environment;
32+
import org.elasticsearch.indices.recovery.RecoverySettings;
33+
import org.elasticsearch.repositories.blobstore.BlobStoreTestUtil;
2734
import org.elasticsearch.test.ESTestCase;
2835
import org.elasticsearch.test.fixtures.hdfs.HdfsClientThreadLeakFilter;
36+
import org.elasticsearch.xcontent.NamedXContentRegistry;
2937
import org.hamcrest.CoreMatchers;
3038
import org.mockito.AdditionalMatchers;
3139
import org.mockito.Mockito;
@@ -49,6 +57,8 @@
4957
import static org.elasticsearch.repositories.blobstore.ESBlobStoreRepositoryIntegTestCase.randomBytes;
5058
import static org.elasticsearch.repositories.blobstore.ESBlobStoreRepositoryIntegTestCase.readBlobFully;
5159
import static org.elasticsearch.repositories.blobstore.ESBlobStoreRepositoryIntegTestCase.writeBlob;
60+
import static org.hamcrest.Matchers.equalTo;
61+
import static org.mockito.Mockito.mock;
5262

5363
@ThreadLeakFilters(filters = { HdfsClientThreadLeakFilter.class })
5464
public class HdfsBlobStoreContainerTests extends ESTestCase {
@@ -107,6 +117,20 @@ private FileContext createContext(URI uri) {
107117
});
108118
}
109119

120+
public void testRepositoryProjectId() {
121+
final var projectId = randomProjectIdOrDefault();
122+
final var repository = new HdfsRepository(
123+
projectId,
124+
new RepositoryMetadata(randomIdentifier(), "hdfs", Settings.builder().put("uri", "hdfs:///").put("path", "foo").build()),
125+
mock(Environment.class),
126+
NamedXContentRegistry.EMPTY,
127+
BlobStoreTestUtil.mockClusterService(),
128+
MockBigArrays.NON_RECYCLING_INSTANCE,
129+
new RecoverySettings(Settings.EMPTY, new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS))
130+
);
131+
assertThat(repository.getProjectId(), equalTo(projectId));
132+
}
133+
110134
public void testReadOnly() throws Exception {
111135
FileContext fileContext = createTestContext();
112136
// Constructor will not create dir if read only

server/src/test/java/org/elasticsearch/repositories/InvalidRepositoryTests.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
package org.elasticsearch.repositories;
1111

12+
import org.elasticsearch.cluster.metadata.ProjectId;
1213
import org.elasticsearch.cluster.metadata.RepositoryMetadata;
1314
import org.elasticsearch.common.settings.Settings;
1415
import org.elasticsearch.snapshots.SnapshotId;
@@ -19,13 +20,16 @@
1920

2021
public class InvalidRepositoryTests extends ESTestCase {
2122

23+
private ProjectId projectId = randomProjectIdOrDefault();
24+
2225
private InvalidRepository repository = new InvalidRepository(
23-
randomProjectIdOrDefault(),
26+
projectId,
2427
new RepositoryMetadata("name", "type", Settings.EMPTY),
2528
new RepositoryException("name", "failed to create repository")
2629
);
2730

2831
public void testShouldThrowWhenGettingMetadata() {
32+
assertThat(repository.getProjectId(), equalTo(projectId));
2933
final var expectedException = expectThrows(
3034
RepositoryException.class,
3135
() -> repository.getSnapshotGlobalMetadata(new SnapshotId("name", "uuid"))

server/src/test/java/org/elasticsearch/repositories/UnknownTypeRepositoryTests.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,21 @@
99

1010
package org.elasticsearch.repositories;
1111

12+
import org.elasticsearch.cluster.metadata.ProjectId;
1213
import org.elasticsearch.cluster.metadata.RepositoryMetadata;
1314
import org.elasticsearch.common.settings.Settings;
1415
import org.elasticsearch.snapshots.SnapshotId;
1516
import org.elasticsearch.test.ESTestCase;
1617

18+
import static org.hamcrest.Matchers.equalTo;
19+
1720
public class UnknownTypeRepositoryTests extends ESTestCase {
1821

19-
private UnknownTypeRepository repository = new UnknownTypeRepository(
20-
randomProjectIdOrDefault(),
21-
new RepositoryMetadata("name", "type", Settings.EMPTY)
22-
);
22+
private ProjectId projectId = randomProjectIdOrDefault();
23+
private UnknownTypeRepository repository = new UnknownTypeRepository(projectId, new RepositoryMetadata("name", "type", Settings.EMPTY));
2324

2425
public void testShouldThrowWhenGettingMetadata() {
26+
assertThat(repository.getProjectId(), equalTo(projectId));
2527
expectThrows(RepositoryException.class, () -> repository.getSnapshotGlobalMetadata(new SnapshotId("name", "uuid")));
2628
}
2729

server/src/test/java/org/elasticsearch/repositories/fs/FsRepositoryTests.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.lucene.util.IOSupplier;
2727
import org.elasticsearch.action.support.PlainActionFuture;
2828
import org.elasticsearch.cluster.metadata.IndexMetadata;
29+
import org.elasticsearch.cluster.metadata.ProjectId;
2930
import org.elasticsearch.cluster.metadata.RepositoryMetadata;
3031
import org.elasticsearch.cluster.node.DiscoveryNode;
3132
import org.elasticsearch.cluster.node.DiscoveryNodeUtils;
@@ -101,15 +102,17 @@ public void testSnapshotAndRestore() throws IOException {
101102

102103
int numDocs = indexDocs(directory);
103104
RepositoryMetadata metadata = new RepositoryMetadata("test", "fs", settings);
105+
final ProjectId projectId = randomProjectIdOrDefault();
104106
FsRepository repository = new FsRepository(
105-
randomProjectIdOrDefault(),
107+
projectId,
106108
metadata,
107109
new Environment(settings, null),
108110
NamedXContentRegistry.EMPTY,
109111
BlobStoreTestUtil.mockClusterService(),
110112
MockBigArrays.NON_RECYCLING_INSTANCE,
111113
new RecoverySettings(settings, new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS))
112114
);
115+
assertThat(repository.getProjectId(), equalTo(projectId));
113116
repository.start();
114117
final Settings indexSettings = Settings.builder().put(IndexMetadata.SETTING_INDEX_UUID, "myindexUUID").build();
115118
IndexSettings idxSettings = IndexSettingsModule.newIndexSettings("myindex", indexSettings);
@@ -228,8 +231,9 @@ public void testCleanUpWhenShardDataFilesFailToWrite() throws IOException {
228231
final AtomicBoolean canErrorForWriteBlob = new AtomicBoolean();
229232
final AtomicBoolean shouldErrorForWriteMetadataBlob = new AtomicBoolean();
230233
final AtomicBoolean writeBlobErrored = new AtomicBoolean(false);
234+
final ProjectId projectId = randomProjectIdOrDefault();
231235
final var repository = new FsRepository(
232-
randomProjectIdOrDefault(),
236+
projectId,
233237
metadata,
234238
new Environment(settings, null),
235239
NamedXContentRegistry.EMPTY,
@@ -286,6 +290,7 @@ protected BlobContainer wrapChild(BlobContainer child) {
286290
};
287291
}
288292
};
293+
assertThat(repository.getProjectId(), equalTo(projectId));
289294
repository.start();
290295

291296
final IndexSettings idxSettings = IndexSettingsModule.newIndexSettings(

x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/repository/CcrRepositoryRetentionLeaseTests.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,17 @@ private static CcrRepository createCcrRepository(RepositoryMetadata repositoryMe
110110
final ThreadPool threadPool = mock(ThreadPool.class);
111111
final ThreadContext threadContext = new ThreadContext(Settings.EMPTY);
112112
when(threadPool.getThreadContext()).thenReturn(threadContext);
113-
return new CcrRepository(
114-
randomProjectIdOrDefault(),
113+
final var projectId = randomProjectIdOrDefault();
114+
final CcrRepository ccrRepository = new CcrRepository(
115+
projectId,
115116
repositoryMetadata,
116117
mock(Client.class),
117118
Settings.EMPTY,
118119
new CcrSettings(Settings.EMPTY, new ClusterSettings(Settings.EMPTY, settings)),
119120
threadPool
120121
);
122+
assertThat(ccrRepository.getProjectId(), equalTo(projectId));
123+
return ccrRepository;
121124
}
122125

123126
public void testWhenRetentionLeaseExpiresBeforeWeCanRenewIt() {

0 commit comments

Comments
 (0)