| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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 org.apache.hadoop.ozone.om.response; |
| |
| import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; |
| import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; |
| import org.apache.hadoop.ozone.om.request.s3.bucket.S3BucketCreateRequest; |
| import org.apache.hadoop.ozone.om.response.bucket.OMBucketCreateResponse; |
| import org.apache.hadoop.ozone.om.response.s3.bucket.S3BucketCreateResponse; |
| import org.apache.hadoop.ozone.om.response.volume.OMVolumeCreateResponse; |
| import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; |
| import org.apache.hadoop.util.Time; |
| |
| /** |
| * Helper class to test OMClientResponse classes. |
| */ |
| public final class TestOMResponseUtils { |
| |
| // No one can instantiate, this is just utility class with all static methods. |
| private TestOMResponseUtils() { |
| } |
| |
| public static OmBucketInfo createBucket(String volume, String bucket) { |
| return OmBucketInfo.newBuilder().setVolumeName(volume).setBucketName(bucket) |
| .setCreationTime(Time.now()).setIsVersionEnabled(true).addMetadata( |
| "key1", "value1").build(); |
| |
| } |
| |
| public static S3BucketCreateResponse createS3BucketResponse(String userName, |
| String volumeName, String s3BucketName) { |
| OzoneManagerProtocolProtos.OMResponse omResponse = |
| OzoneManagerProtocolProtos.OMResponse.newBuilder() |
| .setCmdType(OzoneManagerProtocolProtos.Type.CreateS3Bucket) |
| .setStatus(OzoneManagerProtocolProtos.Status.OK) |
| .setSuccess(true) |
| .setCreateS3BucketResponse( |
| OzoneManagerProtocolProtos.S3CreateBucketResponse |
| .getDefaultInstance()) |
| .build(); |
| |
| OzoneManagerProtocolProtos.UserVolumeInfo userVolumeInfo = |
| OzoneManagerProtocolProtos.UserVolumeInfo.newBuilder() |
| .setObjectID(1) |
| .setUpdateID(1) |
| .addVolumeNames(volumeName).build(); |
| |
| OmVolumeArgs omVolumeArgs = OmVolumeArgs.newBuilder() |
| .setOwnerName(userName).setAdminName(userName) |
| .setVolume(volumeName).setCreationTime(Time.now()).build(); |
| |
| OMVolumeCreateResponse omVolumeCreateResponse = |
| new OMVolumeCreateResponse(omVolumeArgs, userVolumeInfo, omResponse); |
| |
| |
| OmBucketInfo omBucketInfo = TestOMResponseUtils.createBucket( |
| volumeName, s3BucketName); |
| OMBucketCreateResponse omBucketCreateResponse = |
| new OMBucketCreateResponse(omBucketInfo, omResponse); |
| |
| String s3Mapping = S3BucketCreateRequest.formatS3MappingName(volumeName, |
| s3BucketName); |
| return |
| new S3BucketCreateResponse(omVolumeCreateResponse, |
| omBucketCreateResponse, s3BucketName, s3Mapping, omResponse); |
| } |
| } |