mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Fix getRepair method in checkVolume command (#8840)
* Fix getRepair method in checkVolume command * Add License
This commit is contained in:
parent
f7603dcbcc
commit
38f028613f
@ -29,6 +29,7 @@ import org.apache.cloudstack.api.ResponseObject.ResponseView;
|
||||
import org.apache.cloudstack.api.ServerApiException;
|
||||
import org.apache.cloudstack.api.response.VolumeResponse;
|
||||
import org.apache.cloudstack.context.CallContext;
|
||||
import org.apache.commons.lang3.EnumUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
@ -71,9 +72,9 @@ public class CheckAndRepairVolumeCmd extends BaseAsyncCmd {
|
||||
|
||||
public String getRepair() {
|
||||
if (org.apache.commons.lang3.StringUtils.isNotEmpty(repair)) {
|
||||
RepairValues repairType = Enum.valueOf(RepairValues.class, repair.toUpperCase());
|
||||
RepairValues repairType = EnumUtils.getEnumIgnoreCase(RepairValues.class, repair);
|
||||
if (repairType == null) {
|
||||
throw new InvalidParameterValueException(String.format("Repair parameter can only take the following values: %s" + Arrays.toString(RepairValues.values())));
|
||||
throw new InvalidParameterValueException(String.format("Repair parameter can only take the following values: %s", Arrays.toString(RepairValues.values())));
|
||||
}
|
||||
return repair.toLowerCase();
|
||||
}
|
||||
|
||||
@ -0,0 +1,63 @@
|
||||
// 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.cloudstack.api.command.user.volume;
|
||||
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import junit.framework.TestCase;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class CheckAndRepairVolumeCmdTest extends TestCase {
|
||||
private CheckAndRepairVolumeCmd checkAndRepairVolumeCmd;
|
||||
private AutoCloseable closeable;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
closeable = MockitoAnnotations.openMocks(this);
|
||||
checkAndRepairVolumeCmd = new CheckAndRepairVolumeCmd();
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() throws Exception {
|
||||
closeable.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetRepair() {
|
||||
ReflectionTestUtils.setField(checkAndRepairVolumeCmd, "repair", "all");
|
||||
assertEquals("all", checkAndRepairVolumeCmd.getRepair());
|
||||
|
||||
ReflectionTestUtils.setField(checkAndRepairVolumeCmd, "repair", "LEAKS");
|
||||
assertEquals("leaks", checkAndRepairVolumeCmd.getRepair());
|
||||
|
||||
ReflectionTestUtils.setField(checkAndRepairVolumeCmd, "repair", null);
|
||||
assertNull(checkAndRepairVolumeCmd.getRepair());
|
||||
}
|
||||
|
||||
@Test(expected = InvalidParameterValueException.class)
|
||||
public void testGetRepairInvalid() {
|
||||
ReflectionTestUtils.setField(checkAndRepairVolumeCmd, "repair", "RANDOM STRING");
|
||||
checkAndRepairVolumeCmd.getRepair();
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user