mirror of
https://github.com/apache/cloudstack
synced 2026-08-08 07:47:32 +00:00
Using cloudmonkey, when invoking the update template api call, it does not display the isdynamicallyscalable field as part of its template response. fix done: org.apache.cloudstack.api.response.TemplateResponse isdynamicallyscalable field is now populated in the server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java.newUpdateResponse method. Unit test: the Unit test server/test/com/cloud/api/query/dao/TemplateJoinDaoImplTest.java testNewUpdateResponse() verifies that the TemplateResponse is populated correctly. Marvin test: the Marvin nosetest integration/smoke/test_templates.py test_02_edit_template(self) confirms that the template_response.isdynamicallyscalable field gets populated with the correct user data. Test scenario: Using cloudmonkey, when invoking the 'update template' API call, it should now display the isdynamicallyscalable field as part of its template response.
119 lines
5.8 KiB
Java
Executable File
119 lines
5.8 KiB
Java
Executable File
// 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 com.cloud.api.query.dao;
|
|
|
|
import com.cloud.hypervisor.Hypervisor;
|
|
import com.cloud.storage.Storage;
|
|
import com.cloud.user.Account;
|
|
import org.apache.cloudstack.api.response.TemplateResponse;
|
|
import org.junit.Assert;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.mockito.InjectMocks;
|
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
|
import org.powermock.modules.junit4.PowerMockRunner;
|
|
|
|
import com.cloud.api.ApiDBUtils;
|
|
import com.cloud.api.query.vo.TemplateJoinVO;
|
|
import org.springframework.test.util.ReflectionTestUtils;
|
|
|
|
import java.util.Date;
|
|
import java.util.Map;
|
|
|
|
@RunWith(PowerMockRunner.class)
|
|
@PrepareForTest(ApiDBUtils.class)
|
|
public class TemplateJoinDaoImplTest extends GenericDaoBaseWithTagInformationBaseTest<TemplateJoinVO, TemplateResponse> {
|
|
|
|
@InjectMocks
|
|
private TemplateJoinDaoImpl _templateJoinDaoImpl;
|
|
|
|
private TemplateJoinVO template = new TemplateJoinVO();
|
|
private TemplateResponse templateResponse = new TemplateResponse();
|
|
|
|
//TemplateJoinVO fields
|
|
private String uuid = "1234567890abc";
|
|
private String name = "xs-tools.iso";
|
|
private String displayText = "xen-pv-drv-iso";
|
|
private boolean publicTemplate = true;
|
|
private Date created = new Date();
|
|
private Storage.ImageFormat format = Storage.ImageFormat.ISO;
|
|
private String guestOSUuid = "987654321cba";
|
|
private String guestOSName = "CentOS 4.5 (32-bit)";
|
|
private boolean bootable = true;
|
|
private Hypervisor.HypervisorType hypervisorType = Hypervisor.HypervisorType.XenServer;
|
|
private boolean dynamicallyScalable = true;
|
|
private short accountType = Account.ACCOUNT_TYPE_NORMAL;
|
|
private String accountName = "system";
|
|
private String domainUuid = "abcde1234567890";
|
|
private String domainName = "ROOT";
|
|
private String detailName = "detail_name1";
|
|
private String detailValue = "detail_val";
|
|
|
|
@Before
|
|
public void setup() {
|
|
prepareSetup();
|
|
populateTemplateJoinVO();
|
|
}
|
|
|
|
@Test
|
|
public void testUpdateTemplateTagInfo(){
|
|
testUpdateTagInformation(_templateJoinDaoImpl, template, templateResponse);
|
|
}
|
|
|
|
@Test
|
|
public void testNewUpdateResponse() {
|
|
final TemplateResponse response = _templateJoinDaoImpl.newUpdateResponse(template);
|
|
Assert.assertEquals(uuid, response.getId());
|
|
Assert.assertEquals(name, ReflectionTestUtils.getField(response, "name"));
|
|
Assert.assertEquals(displayText, ReflectionTestUtils.getField(response, "displayText"));
|
|
Assert.assertTrue((Boolean) ReflectionTestUtils.getField(response, "isPublic"));
|
|
Assert.assertEquals(created, ReflectionTestUtils.getField(response, "created"));
|
|
Assert.assertEquals(format, ReflectionTestUtils.getField(response, "format"));
|
|
Assert.assertEquals(guestOSUuid, ReflectionTestUtils.getField(response, "osTypeId"));
|
|
Assert.assertEquals(guestOSName, ReflectionTestUtils.getField(response, "osTypeName"));
|
|
Assert.assertTrue((Boolean) ReflectionTestUtils.getField(response, "bootable"));
|
|
Assert.assertEquals(hypervisorType, Hypervisor.HypervisorType.getType(ReflectionTestUtils.getField(response, "hypervisor").toString()));
|
|
Assert.assertTrue((Boolean) ReflectionTestUtils.getField(response, "isDynamicallyScalable"));
|
|
Assert.assertEquals(accountName, ReflectionTestUtils.getField(response, "account"));
|
|
Assert.assertEquals(domainUuid, ReflectionTestUtils.getField(response, "domainId"));
|
|
Assert.assertEquals(domainName, ReflectionTestUtils.getField(response, "domainName"));
|
|
Assert.assertTrue(((Map)ReflectionTestUtils.getField(response, "details")).containsKey(detailName));
|
|
Assert.assertEquals(detailValue, ((Map)ReflectionTestUtils.getField(response, "details")).get(detailName));
|
|
}
|
|
|
|
private void populateTemplateJoinVO() {
|
|
ReflectionTestUtils.setField(template, "uuid", uuid);
|
|
ReflectionTestUtils.setField(template, "name", name);
|
|
ReflectionTestUtils.setField(template, "displayText", displayText);
|
|
ReflectionTestUtils.setField(template, "publicTemplate", publicTemplate);
|
|
ReflectionTestUtils.setField(template, "created", created);
|
|
ReflectionTestUtils.setField(template, "format", format);
|
|
ReflectionTestUtils.setField(template, "guestOSUuid", guestOSUuid);
|
|
ReflectionTestUtils.setField(template, "guestOSName", guestOSName);
|
|
ReflectionTestUtils.setField(template, "bootable", bootable);
|
|
ReflectionTestUtils.setField(template, "hypervisorType", hypervisorType);
|
|
ReflectionTestUtils.setField(template, "dynamicallyScalable", dynamicallyScalable);
|
|
ReflectionTestUtils.setField(template, "accountType", accountType);
|
|
ReflectionTestUtils.setField(template, "accountName", accountName);
|
|
ReflectionTestUtils.setField(template, "domainUuid", domainUuid);
|
|
ReflectionTestUtils.setField(template, "domainName", domainName);
|
|
ReflectionTestUtils.setField(template, "detailName", detailName);
|
|
ReflectionTestUtils.setField(template, "detailValue", detailValue);
|
|
}
|
|
|
|
} |