mirror of
https://github.com/apache/cloudstack.git
synced 2025-12-17 11:04:00 +01:00
113 lines
4.3 KiB
Java
113 lines
4.3 KiB
Java
// 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;
|
|
|
|
import com.cloud.domain.DomainVO;
|
|
import com.cloud.usage.UsageVO;
|
|
import com.cloud.user.AccountVO;
|
|
import org.apache.cloudstack.api.response.UsageRecordResponse;
|
|
import org.apache.cloudstack.usage.UsageService;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.mockito.Mock;
|
|
import org.mockito.Mockito;
|
|
import org.powermock.api.mockito.PowerMockito;
|
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
|
import org.powermock.modules.junit4.PowerMockRunner;
|
|
|
|
import java.lang.reflect.Field;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.TimeZone;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.mockito.Matchers.anyLong;
|
|
import static org.mockito.Mockito.when;
|
|
|
|
@RunWith(PowerMockRunner.class)
|
|
@PrepareForTest(ApiDBUtils.class)
|
|
public class ApiResponseHelperTest {
|
|
|
|
@Mock
|
|
UsageService usageService;
|
|
|
|
ApiResponseHelper helper;
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss ZZZ");
|
|
|
|
@Before
|
|
public void injectMocks() throws SecurityException, NoSuchFieldException,
|
|
IllegalArgumentException, IllegalAccessException {
|
|
Field usageSvcField = ApiResponseHelper.class
|
|
.getDeclaredField("_usageSvc");
|
|
usageSvcField.setAccessible(true);
|
|
helper = new ApiResponseHelper();
|
|
usageSvcField.set(helper, usageService);
|
|
}
|
|
|
|
@Test
|
|
public void getDateStringInternal() throws ParseException {
|
|
Mockito.when(usageService.getUsageTimezone()).thenReturn(
|
|
TimeZone.getTimeZone("UTC"));
|
|
assertEquals("2014-06-29'T'23:45:00+00:00", helper
|
|
.getDateStringInternal(dateFormat.parse("2014-06-29 23:45:00 UTC")));
|
|
assertEquals("2014-06-29'T'23:45:01+00:00", helper
|
|
.getDateStringInternal(dateFormat.parse("2014-06-29 23:45:01 UTC")));
|
|
assertEquals("2014-06-29'T'23:45:11+00:00", helper
|
|
.getDateStringInternal(dateFormat.parse("2014-06-29 23:45:11 UTC")));
|
|
assertEquals("2014-06-29'T'23:05:11+00:00", helper
|
|
.getDateStringInternal(dateFormat.parse("2014-06-29 23:05:11 UTC")));
|
|
assertEquals("2014-05-29'T'08:45:11+00:00", helper
|
|
.getDateStringInternal(dateFormat.parse("2014-05-29 08:45:11 UTC")));
|
|
}
|
|
|
|
@Test
|
|
public void testUsageRecordResponse(){
|
|
//Creating the usageVO object to be passed to the createUsageResponse.
|
|
Long zoneId = null;
|
|
Long accountId = null;
|
|
Long domainId = null;
|
|
String Description = "Test Object";
|
|
String usageDisplay = " ";
|
|
int usageType = -1;
|
|
Double rawUsage = null;
|
|
Long vmId = null;
|
|
String vmName = " ";
|
|
Long offeringId = null;
|
|
Long templateId = null;
|
|
Long usageId = null;
|
|
Date startDate = null;
|
|
Date endDate = null;
|
|
String type = " ";
|
|
UsageVO usage = new UsageVO(zoneId,accountId,domainId,Description,usageDisplay,usageType,rawUsage,vmId,vmName,offeringId,templateId,usageId,startDate,endDate,type);
|
|
|
|
DomainVO domain = new DomainVO();
|
|
domain.setName("DomainName");
|
|
|
|
AccountVO account = new AccountVO();
|
|
|
|
PowerMockito.mockStatic(ApiDBUtils.class);
|
|
when(ApiDBUtils.findAccountById(anyLong())).thenReturn(account);
|
|
when(ApiDBUtils.findDomainById(anyLong())).thenReturn(domain);
|
|
|
|
UsageRecordResponse MockResponse = helper.createUsageResponse(usage);
|
|
assertEquals("DomainName",MockResponse.getDomainName());
|
|
}
|
|
}
|