mirror of
https://gitee.com/mirrors/Spring-Cloud-Alibaba.git
synced 2021-06-26 13:25:11 +08:00
Add missing Apache 2 License
This commit is contained in:
parent
9edab1215b
commit
0de7efabd4
@ -216,6 +216,10 @@ public class OssStorageResource implements WritableResource {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* create a bucket.
|
||||
* @return
|
||||
*/
|
||||
public Bucket createBucket() {
|
||||
return this.oss.createBucket(this.bucketName);
|
||||
}
|
||||
@ -226,8 +230,8 @@ public class OssStorageResource implements WritableResource {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取一个OutputStream用于写操作。
|
||||
* 注意:写完成后必须关闭该流
|
||||
* acquire an OutputStream for write.
|
||||
* Note: please close the stream after writing is done
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
@ -242,17 +246,21 @@ public class OssStorageResource implements WritableResource {
|
||||
|
||||
try {
|
||||
ossObject = this.getOSSObject();
|
||||
} catch (OSSException ex) {
|
||||
if (ex.getMessage() != null && ex.getMessage().startsWith(MESSAGE_KEY_NOT_EXIST)) {
|
||||
}
|
||||
catch (OSSException ex) {
|
||||
if (ex.getMessage() != null
|
||||
&& ex.getMessage().startsWith(MESSAGE_KEY_NOT_EXIST)) {
|
||||
ossObject = null;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
|
||||
if (ossObject == null) {
|
||||
if (!this.autoCreateFiles) {
|
||||
throw new FileNotFoundException("The object was not found: " + getURI());
|
||||
throw new FileNotFoundException(
|
||||
"The object was not found: " + getURI());
|
||||
}
|
||||
|
||||
}
|
||||
@ -263,7 +271,8 @@ public class OssStorageResource implements WritableResource {
|
||||
executorService.submit(() -> {
|
||||
try {
|
||||
OssStorageResource.this.oss.putObject(bucketName, objectKey, in);
|
||||
} catch (Exception ex) {
|
||||
}
|
||||
catch (Exception ex) {
|
||||
logger.error("Failed to put object", ex);
|
||||
}
|
||||
});
|
||||
|
@ -1,3 +1,19 @@
|
||||
/*
|
||||
* Copyright (C) 2018 the original author or authors.
|
||||
*
|
||||
* 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.alicloud.oss.resource;
|
||||
|
||||
import com.aliyun.oss.model.Bucket;
|
||||
@ -14,7 +30,6 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
/**
|
||||
* @author lich
|
||||
* @date 2019/8/30
|
||||
*/
|
||||
public class DummyOssClient {
|
||||
|
||||
@ -26,22 +41,25 @@ public class DummyOssClient {
|
||||
return String.join(".", bucketName, objectKey);
|
||||
}
|
||||
|
||||
public PutObjectResult putObject(String bucketName, String objectKey, InputStream inputStream) {
|
||||
public PutObjectResult putObject(String bucketName, String objectKey,
|
||||
InputStream inputStream) {
|
||||
|
||||
try {
|
||||
byte[] result = StreamUtils.copyToByteArray(inputStream);
|
||||
storeMap.put(getStoreKey(bucketName, objectKey), result);
|
||||
} catch (IOException ex) {
|
||||
}
|
||||
catch (IOException ex) {
|
||||
throw new RuntimeException(ex);
|
||||
} finally {
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
inputStream.close();
|
||||
} catch (IOException ex) {
|
||||
}
|
||||
catch (IOException ex) {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return new PutObjectResult();
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,22 @@
|
||||
/*
|
||||
* Copyright (C) 2018 the original author or authors.
|
||||
*
|
||||
* 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.alicloud.oss.resource;
|
||||
|
||||
import com.aliyun.oss.OSS;
|
||||
import com.aliyun.oss.common.utils.IOUtils;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.ExpectedException;
|
||||
@ -19,7 +34,6 @@ import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.util.StreamUtils;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Random;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
@ -28,9 +42,7 @@ import static org.mockito.Mockito.mock;
|
||||
|
||||
/**
|
||||
* @author lich
|
||||
* @date 2019/8/29
|
||||
*/
|
||||
|
||||
@SpringBootTest
|
||||
@RunWith(SpringRunner.class)
|
||||
public class OssStorageResourceTest {
|
||||
@ -70,7 +82,8 @@ public class OssStorageResourceTest {
|
||||
OssStorageResource ossStorageResource = (OssStorageResource) remoteResource;
|
||||
assertTrue(ossStorageResource.bucketExists());
|
||||
assertEquals(4096L, remoteResource.contentLength());
|
||||
assertEquals("oss://aliyun-test-bucket/myfilekey", remoteResource.getURI().toString());
|
||||
assertEquals("oss://aliyun-test-bucket/myfilekey",
|
||||
remoteResource.getURI().toString());
|
||||
assertEquals("myfilekey", remoteResource.getFilename());
|
||||
}
|
||||
|
||||
@ -85,21 +98,22 @@ public class OssStorageResourceTest {
|
||||
|
||||
@Test
|
||||
public void testBucketNotEndingInSlash() {
|
||||
assertTrue(new OssStorageResource(this.oss, "oss://aliyun-test-bucket").isBucket());
|
||||
assertTrue(
|
||||
new OssStorageResource(this.oss, "oss://aliyun-test-bucket").isBucket());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSpecifyPathCorrect() {
|
||||
OssStorageResource ossStorageResource = new OssStorageResource (
|
||||
this.oss, "oss://aliyun-test-bucket/myfilekey", false);
|
||||
OssStorageResource ossStorageResource = new OssStorageResource(this.oss,
|
||||
"oss://aliyun-test-bucket/myfilekey", false);
|
||||
|
||||
assertTrue(ossStorageResource.exists());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSpecifyBucketCorrect() {
|
||||
OssStorageResource ossStorageResource = new OssStorageResource(
|
||||
this.oss, "oss://aliyun-test-bucket", false);
|
||||
OssStorageResource ossStorageResource = new OssStorageResource(this.oss,
|
||||
"oss://aliyun-test-bucket", false);
|
||||
|
||||
assertTrue(ossStorageResource.isBucket());
|
||||
assertEquals("aliyun-test-bucket", ossStorageResource.getBucket().getName());
|
||||
@ -109,14 +123,16 @@ public class OssStorageResourceTest {
|
||||
@Test
|
||||
public void testBucketOutputStream() throws IOException {
|
||||
this.expectedEx.expect(IllegalStateException.class);
|
||||
this.expectedEx.expectMessage("Cannot open an output stream to a bucket: 'oss://aliyun-test-bucket/'");
|
||||
this.expectedEx.expectMessage(
|
||||
"Cannot open an output stream to a bucket: 'oss://aliyun-test-bucket/'");
|
||||
((WritableResource) this.bucketResource).getOutputStream();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBucketInputStream() throws IOException {
|
||||
this.expectedEx.expect(IllegalStateException.class);
|
||||
this.expectedEx.expectMessage("Cannot open an input stream to a bucket: 'oss://aliyun-test-bucket/'");
|
||||
this.expectedEx.expectMessage(
|
||||
"Cannot open an input stream to a bucket: 'oss://aliyun-test-bucket/'");
|
||||
this.bucketResource.getInputStream();
|
||||
}
|
||||
|
||||
@ -130,7 +146,8 @@ public class OssStorageResourceTest {
|
||||
@Test
|
||||
public void testBucketFile() throws IOException {
|
||||
this.expectedEx.expect(UnsupportedOperationException.class);
|
||||
this.expectedEx.expectMessage("oss://aliyun-test-bucket/ cannot be resolved to absolute file path");
|
||||
this.expectedEx.expectMessage(
|
||||
"oss://aliyun-test-bucket/ cannot be resolved to absolute file path");
|
||||
this.bucketResource.getFile();
|
||||
}
|
||||
|
||||
@ -177,7 +194,16 @@ public class OssStorageResourceTest {
|
||||
assertEquals(expectedString, actualString);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateBucket() {
|
||||
String location = "oss://my-new-test-bucket/";
|
||||
OssStorageResource resource = new OssStorageResource(this.oss, location, true);
|
||||
|
||||
resource.createBucket();
|
||||
|
||||
assertTrue(resource.bucketExists());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for the tests.
|
||||
@ -191,23 +217,16 @@ public class OssStorageResourceTest {
|
||||
DummyOssClient dummyOssStub = new DummyOssClient();
|
||||
OSS oss = mock(OSS.class);
|
||||
|
||||
doAnswer(invocation ->
|
||||
dummyOssStub.putObject(
|
||||
invocation.getArgument(0),
|
||||
invocation.getArgument(1),
|
||||
invocation.getArgument(2)
|
||||
))
|
||||
.when(oss).putObject(Mockito.anyString(), Mockito.anyString(), Mockito.any(InputStream.class));
|
||||
doAnswer(invocation -> dummyOssStub.putObject(invocation.getArgument(0),
|
||||
invocation.getArgument(1), invocation.getArgument(2))).when(oss)
|
||||
.putObject(Mockito.anyString(), Mockito.anyString(),
|
||||
Mockito.any(InputStream.class));
|
||||
|
||||
doAnswer(invocation ->
|
||||
dummyOssStub.getOSSObject(
|
||||
invocation.getArgument(0),
|
||||
invocation.getArgument(1)
|
||||
))
|
||||
.when(oss).getObject(Mockito.anyString(), Mockito.anyString());
|
||||
doAnswer(invocation -> dummyOssStub.getOSSObject(invocation.getArgument(0),
|
||||
invocation.getArgument(1))).when(oss).getObject(Mockito.anyString(),
|
||||
Mockito.anyString());
|
||||
|
||||
doAnswer(invocation -> dummyOssStub.bucketList())
|
||||
.when(oss).listBuckets();
|
||||
doAnswer(invocation -> dummyOssStub.bucketList()).when(oss).listBuckets();
|
||||
|
||||
doAnswer(invocation -> dummyOssStub.createBucket(invocation.getArgument(0)))
|
||||
.when(oss).createBucket(Mockito.anyString());
|
||||
|
Loading…
x
Reference in New Issue
Block a user