From 07fce097fe4d6774928273986946382925cd9fe6 Mon Sep 17 00:00:00 2001 From: Abhinandan Prateek Date: Mon, 7 Dec 2015 15:05:12 +0530 Subject: [PATCH] quota review fixes --- .../cloudstack/quota/QuotaStatementTest.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/framework/quota/test/org/apache/cloudstack/quota/QuotaStatementTest.java b/framework/quota/test/org/apache/cloudstack/quota/QuotaStatementTest.java index 756125eb674..f2a0deda3c7 100644 --- a/framework/quota/test/org/apache/cloudstack/quota/QuotaStatementTest.java +++ b/framework/quota/test/org/apache/cloudstack/quota/QuotaStatementTest.java @@ -22,6 +22,7 @@ import com.cloud.utils.db.TransactionLegacy; import junit.framework.TestCase; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.quota.QuotaStatementImpl.STATEMENT_PERIODS; +import org.apache.cloudstack.quota.constant.QuotaConfig; import org.apache.cloudstack.quota.dao.QuotaAccountDao; import org.apache.cloudstack.quota.dao.QuotaUsageDao; import org.apache.cloudstack.quota.vo.QuotaAccountVO; @@ -33,8 +34,10 @@ import org.mockito.Mockito; import org.mockito.Spy; import org.mockito.runners.MockitoJUnitRunner; +import javax.mail.MessagingException; import javax.naming.ConfigurationException; +import java.io.UnsupportedEncodingException; import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.ArrayList; @@ -54,7 +57,7 @@ public class QuotaStatementTest extends TestCase { @Mock QuotaUsageDao quotaUsage; @Mock - QuotaAlertManager emailQuotaAlert; + QuotaAlertManager alertManager; @Spy QuotaStatementImpl quotaStatement = new QuotaStatementImpl(); @@ -74,7 +77,7 @@ public class QuotaStatementTest extends TestCase { injectMockToField(quotaAcc, "_quotaAcc"); injectMockToField(configDao, "_configDao"); injectMockToField(quotaUsage, "_quotaUsage"); - injectMockToField(emailQuotaAlert, "_quotaAlert"); + injectMockToField(alertManager, "_quotaAlert"); } @Test @@ -222,7 +225,8 @@ public class QuotaStatementTest extends TestCase { } @Test - public void testSendStatement() { + public void testSendStatement() throws UnsupportedEncodingException, MessagingException { + Calendar date = Calendar.getInstance(); AccountVO accountVO = new AccountVO(); accountVO.setId(2L); accountVO.setDomainId(1L); @@ -238,8 +242,14 @@ public class QuotaStatementTest extends TestCase { Mockito.when(quotaUsage.findTotalQuotaUsage(Mockito.anyLong(), Mockito.anyLong(), Mockito.anyInt(), Mockito.any(Date.class), Mockito.any(Date.class))) .thenReturn(new BigDecimal(100)); + QuotaAlertManagerImpl.DeferredQuotaEmail email = new QuotaAlertManagerImpl.DeferredQuotaEmail(accountVO, acc, new BigDecimal(100), + QuotaConfig.QuotaEmailTemplateTypes.QUOTA_LOW); // call real method on send monthly statement Mockito.doCallRealMethod().when(quotaStatement).sendStatement(); + Calendar period[] = quotaStatement.statementTime(date, STATEMENT_PERIODS.MONTHLY); + if (period != null){ + Mockito.verify(alertManager, Mockito.times(1)).sendQuotaAlert(email); + } } }