Skip to content

Commit 6143137

Browse files
author
Shashank
committed
OAK-2729 Build failure in oak-blob-cloud
Fixed. Test cases updated to be compatible to jackrabbit-data. git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1672006 13f79535-47bb-0310-9956-ffa450edef68
1 parent e19448e commit 6143137

File tree

5 files changed

+93
-71
lines changed

5 files changed

+93
-71
lines changed

oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/TestS3DSAsyncTouch.java

+12-9
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,22 @@
3333
public class TestS3DSAsyncTouch extends TestS3Ds {
3434

3535
protected static final Logger LOG = LoggerFactory.getLogger(TestS3DSAsyncTouch.class);
36+
3637
public TestS3DSAsyncTouch() throws IOException {
37-
config = System.getProperty(CONFIG);
38-
memoryBackend = false;
39-
noCache = false;
38+
4039
}
4140

41+
@Override
4242
protected CachingDataStore createDataStore() throws RepositoryException {
43-
ds = new S3TestDataStore(props);
44-
ds.setConfig(config);
45-
ds.init(dataStoreDir);
46-
ds.setTouchAsync(true);
47-
ds.updateModifiedDateOnAccess(System.currentTimeMillis()+ 50* 1000);
43+
S3DataStore s3ds = new S3DataStore();
44+
s3ds.setProperties(props);
45+
s3ds.setTouchAsync(true);
46+
s3ds.setSecret("123456");
47+
s3ds.init(dataStoreDir);
48+
s3ds.updateModifiedDateOnAccess(System.currentTimeMillis() + 50 * 1000);
4849
sleep(1000);
49-
return ds;
50+
return s3ds;
5051
}
5152
}
53+
54+

oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/TestS3DSWithSSES3.java

+19-20
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,18 @@ public class TestS3DSWithSSES3 extends TestS3Ds {
3535
protected static final Logger LOG = LoggerFactory.getLogger(TestS3DSWithSSES3.class);
3636

3737
public TestS3DSWithSSES3() throws IOException {
38-
config = System.getProperty(CONFIG);
39-
memoryBackend = false;
40-
noCache = true;
4138
}
4239

40+
@Override
4341
protected CachingDataStore createDataStore() throws RepositoryException {
4442
props.setProperty(S3Constants.S3_ENCRYPTION,
4543
S3Constants.S3_ENCRYPTION_SSE_S3);
46-
ds = new S3TestDataStore(props);
47-
ds.setConfig(config);
48-
ds.init(dataStoreDir);
44+
S3DataStore s3ds = new S3DataStore();
45+
s3ds.setProperties(props);
46+
s3ds.setSecret("123456");
47+
s3ds.init(dataStoreDir);
4948
sleep(1000);
50-
return ds;
49+
return s3ds;
5150
}
5251

5352
/**
@@ -56,34 +55,34 @@ protected CachingDataStore createDataStore() throws RepositoryException {
5655
public void testDataMigration() {
5756
try {
5857
String bucket = props.getProperty(S3Constants.S3_BUCKET);
59-
ds = new S3TestDataStore(props);
60-
ds.setConfig(config);
61-
ds.setCacheSize(0);
62-
ds.init(dataStoreDir);
58+
S3DataStore s3ds = new S3DataStore();
59+
s3ds.setProperties(props);
60+
s3ds.setCacheSize(0);
61+
s3ds.init(dataStoreDir);
6362
byte[] data = new byte[dataLength];
6463
randomGen.nextBytes(data);
65-
DataRecord rec = ds.addRecord(new ByteArrayInputStream(data));
64+
DataRecord rec = s3ds.addRecord(new ByteArrayInputStream(data));
6665
assertEquals(data.length, rec.getLength());
6766
assertRecord(data, rec);
68-
ds.close();
67+
s3ds.close();
6968

7069
// turn encryption now.
7170
props.setProperty(S3Constants.S3_BUCKET, bucket);
7271
props.setProperty(S3Constants.S3_ENCRYPTION,
7372
S3Constants.S3_ENCRYPTION_SSE_S3);
7473
props.setProperty(S3Constants.S3_RENAME_KEYS, "true");
75-
ds = new S3TestDataStore(props);
76-
ds.setConfig(config);
77-
ds.setCacheSize(0);
78-
ds.init(dataStoreDir);
74+
s3ds = new S3DataStore();
75+
s3ds.setProperties(props);
76+
s3ds.setCacheSize(0);
77+
s3ds.init(dataStoreDir);
7978

80-
rec = ds.getRecord(rec.getIdentifier());
79+
rec = s3ds.getRecord(rec.getIdentifier());
8180
assertEquals(data.length, rec.getLength());
8281
assertRecord(data, rec);
8382

8483
randomGen.nextBytes(data);
85-
rec = ds.addRecord(new ByteArrayInputStream(data));
86-
ds.close();
84+
rec = s3ds.addRecord(new ByteArrayInputStream(data));
85+
s3ds.close();
8786

8887
} catch (Exception e) {
8988
LOG.error("error:", e);

oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/TestS3DSWithSmallCache.java

+14-12
Original file line numberDiff line numberDiff line change
@@ -21,31 +21,33 @@
2121
import javax.jcr.RepositoryException;
2222

2323
import org.apache.jackrabbit.core.data.CachingDataStore;
24+
import org.apache.jackrabbit.core.data.LocalCache;
2425
import org.slf4j.Logger;
2526
import org.slf4j.LoggerFactory;
27+
2628
/**
27-
* Test {@link org.apache.jackrabbit.core.data.CachingDataStore} with S3Backend and with very small size (@link
28-
* {@link org.apache.jackrabbit.core.data.LocalCache}. It requires to pass aws config file via system property.
29+
* Test {@link CachingDataStore} with S3Backend and with very small size (@link
30+
* {@link LocalCache}. It requires to pass aws config file via system property.
2931
* For e.g. -Dconfig=/opt/cq/aws.properties. Sample aws properties located at
3032
* src/test/resources/aws.properties
3133
*/
3234
public class TestS3DSWithSmallCache extends TestS3Ds {
3335

3436
protected static final Logger LOG = LoggerFactory.getLogger(TestS3DSWithSmallCache.class);
37+
3538
public TestS3DSWithSmallCache() throws IOException {
36-
config = System.getProperty(CONFIG);
37-
memoryBackend = false;
38-
noCache = false;
3939
}
4040

41+
@Override
4142
protected CachingDataStore createDataStore() throws RepositoryException {
42-
ds = new S3TestDataStore(props);
43-
ds.setConfig(config);
44-
ds.setCacheSize(dataLength * 10);
45-
ds.setCachePurgeTrigFactor(0.5d);
46-
ds.setCachePurgeResizeFactor(0.4d);
47-
ds.init(dataStoreDir);
43+
S3DataStore s3ds = new S3DataStore();
44+
s3ds.setProperties(props);
45+
s3ds.setCacheSize(dataLength * 10);
46+
s3ds.setCachePurgeTrigFactor(0.5d);
47+
s3ds.setCachePurgeResizeFactor(0.4d);
48+
s3ds.setSecret("123456");
49+
s3ds.init(dataStoreDir);
4850
sleep(1000);
49-
return ds;
51+
return s3ds;
5052
}
5153
}

oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/TestS3Ds.java

+30-23
Original file line numberDiff line numberDiff line change
@@ -50,40 +50,45 @@ public class TestS3Ds extends TestCaseBase {
5050

5151
protected Properties props;
5252

53+
protected String config;
54+
5355
public TestS3Ds() throws IOException {
54-
config = System.getProperty(CONFIG);
55-
memoryBackend = false;
56-
noCache = false;
57-
props = Utils.readConfig(config);
58-
}
56+
System.setProperty(
57+
TestCaseBase.CONFIG,
58+
"C:/src/apache/jackrabbit-encryp-changes/jackrabbit/jackrabbit-aws-ext/src/test/resources/aws.properties");
59+
config = System.getProperty(CONFIG);
60+
props = Utils.readConfig(System.getProperty(CONFIG));
61+
}
5962

63+
@Override
6064
protected void setUp() throws Exception {
6165
startTime = new Date();
6266
super.setUp();
6367
String bucket = String.valueOf(randomGen.nextInt(9999)) + "-"
64-
+ String.valueOf(randomGen.nextInt(9999)) + "-test";
65-
props.setProperty(S3Constants.S3_BUCKET, bucket );
68+
+ String.valueOf(randomGen.nextInt(9999)) + "-test";
69+
props.setProperty(S3Constants.S3_BUCKET, bucket);
6670
// delete bucket if exists
6771
deleteBucket(bucket);
6872
}
69-
protected void tearDown() {
73+
74+
@Override
75+
protected void tearDown() {
7076
try {
7177
deleteBucket();
7278
super.tearDown();
73-
} catch ( Exception ignore ) {
79+
} catch (Exception ignore) {
7480

7581
}
7682
}
7783

84+
@Override
7885
protected CachingDataStore createDataStore() throws RepositoryException {
79-
ds = new S3TestDataStore(props);
80-
ds.setConfig(config);
81-
if (noCache) {
82-
ds.setCacheSize(0);
83-
}
84-
ds.init(dataStoreDir);
86+
S3DataStore s3ds = new S3DataStore();
87+
s3ds.setProperties(props);
88+
s3ds.setSecret("123456");
89+
s3ds.init(dataStoreDir);
8590
sleep(1000);
86-
return ds;
91+
return s3ds;
8792
}
8893

8994
/**
@@ -93,20 +98,22 @@ protected CachingDataStore createDataStore() throws RepositoryException {
9398
* Cleaning of bucket after test run.
9499
*/
95100
public void deleteBucket() throws Exception {
96-
Backend backend = ds.getBackend();
97-
String bucket = ((S3Backend)backend).getBucket();
101+
Backend backend = ((S3DataStore) ds).getBackend();
102+
String bucket = ((S3Backend) backend).getBucket();
98103
deleteBucket(bucket);
99104
}
105+
100106
public void deleteBucket(String bucket) throws Exception {
101107
LOG.info("deleting bucket [" + bucket + "]");
102108
Properties props = Utils.readConfig(config);
103109
AmazonS3Client s3service = Utils.openService(props);
104110
TransferManager tmx = new TransferManager(s3service);
111+
105112
if (s3service.doesBucketExist(bucket)) {
106113
for (int i = 0; i < 4; i++) {
107114
tmx.abortMultipartUploads(bucket, startTime);
108115
ObjectListing prevObjectListing = s3service.listObjects(bucket);
109-
while (prevObjectListing != null ) {
116+
while (prevObjectListing != null) {
110117
List<DeleteObjectsRequest.KeyVersion> deleteList = new ArrayList<DeleteObjectsRequest.KeyVersion>();
111118
for (S3ObjectSummary s3ObjSumm : prevObjectListing.getObjectSummaries()) {
112119
deleteList.add(new DeleteObjectsRequest.KeyVersion(
@@ -124,11 +131,11 @@ public void deleteBucket(String bucket) throws Exception {
124131
}
125132
s3service.deleteBucket(bucket);
126133
LOG.info("bucket [ " + bucket + "] deleted");
134+
127135
} else {
128136
LOG.info("bucket [" + bucket + "] doesn't exists");
129137
}
130-
tmx.shutdownNow();
131-
s3service.shutdown();
138+
tmx.shutdownNow();
139+
s3service.shutdown();
132140
}
133-
134-
}
141+
}

oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/aws/s3/TestS3DsCacheOff.java

+18-7
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,33 @@
1818

1919
import java.io.IOException;
2020

21+
import javax.jcr.RepositoryException;
22+
23+
import org.apache.jackrabbit.core.data.CachingDataStore;
2124
import org.slf4j.Logger;
2225
import org.slf4j.LoggerFactory;
2326

2427
/**
25-
* Test {@link org.apache.jackrabbit.core.data.CachingDataStore} with S3Backend and local cache Off. It requires
26-
* to pass aws config file via system property. For e.g.
27-
* -Dconfig=/opt/cq/aws.properties. Sample aws properties located at
28+
* Test {@link org.apache.jackrabbit.core.data.CachingDataStore} with S3Backend
29+
* and local cache Off. It requires to pass aws config file via system property.
30+
* For e.g. -Dconfig=/opt/cq/aws.properties. Sample aws properties located at
2831
* src/test/resources/aws.properties
2932
*/
3033
public class TestS3DsCacheOff extends TestS3Ds {
3134

3235
protected static final Logger LOG = LoggerFactory.getLogger(TestS3DsCacheOff.class);
3336

3437
public TestS3DsCacheOff() throws IOException {
35-
config = System.getProperty(CONFIG);
36-
memoryBackend = false;
37-
noCache = true;
3838
}
39-
}
39+
40+
@Override
41+
protected CachingDataStore createDataStore() throws RepositoryException {
42+
S3DataStore s3ds = new S3DataStore();
43+
s3ds.setProperties(props);
44+
s3ds.setCacheSize(0);
45+
s3ds.setSecret("123456");
46+
s3ds.init(dataStoreDir);
47+
sleep(1000);
48+
return s3ds;
49+
}
50+
}

0 commit comments

Comments
 (0)