package tech.powerjob.server.persistence.storage.impl; import com.aliyun.oss.common.utils.AuthUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; import tech.powerjob.server.extension.dfs.DFsService; import java.util.Optional; /** * test AliOSS * * @author tjq * @since 2023/7/30 */ @Slf4j class AliOssServiceTest extends AbstractDfsServiceTest { private static final String BUCKET = "power-job"; /** * 依赖阿里云账号密码测试,为了保证单测在其他环境也能通过,如果发现不存在配置则直接跳过 * @return AliOssService */ @Override protected Optional fetchService() { String accessKeyId = StringUtils.trim(System.getenv(AuthUtils.ACCESS_KEY_ENV_VAR)); String secretAccessKey = StringUtils.trim(System.getenv(AuthUtils.SECRET_KEY_ENV_VAR)); String bucket = Optional.ofNullable(System.getenv("POWERJOB_OSS_BUEKCT")).orElse(BUCKET); log.info("[AliOssServiceTest] ak: {}, sk: {}", accessKeyId, secretAccessKey); if (StringUtils.isAnyEmpty(accessKeyId, secretAccessKey)) { return Optional.empty(); } try { AliOssService aliOssService = new AliOssService(); aliOssService.initOssClient("oss-cn-beijing.aliyuncs.com", bucket, AliOssService.CredentialType.ENV.getCode(), null, null, null); return Optional.of(aliOssService); } catch (Exception e) { ExceptionUtils.rethrow(e); } return Optional.empty(); } }