/* * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.tsdr.persistence.cassandra; import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Session; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.yang.gen.v1.opendaylight.tsdr.log.data.rev160325.storetsdrlogrecord.input.TSDRLogRecord; import org.opendaylight.yang.gen.v1.opendaylight.tsdr.metric.data.rev160325.storetsdrmetricrecord.input.TSDRMetricRecord; import org.opendaylight.yang.gen.v1.opendaylight.tsdr.rev150219.DataCategory; import java.util.ArrayList; import java.util.List; /** * @author <a href="mailto:saichler@gmail.com">Sharon Aicler</a> * Created by saichler on 12/16/15. */ public class TSDRCassandraPersistenceServiceImplTest { private Cluster cluster = Mockito.mock(Cluster.class); private Session session = Mockito.mock(Session.class); private CassandraStore store = Mockito.mock(CassandraStore.class); private TSDRCassandraPersistenceServiceImpl impl = new TSDRCassandraPersistenceServiceImpl(store); @Before public void before(){ } @Test public void testStoreMetric(){ TSDRMetricRecord metricRecord = CassandraStoreTest.createMetricRecord(); impl.storeMetric(metricRecord); Mockito.verify(store, Mockito.atLeast(1)).store(metricRecord); } @Test public void testStoreLog(){ TSDRLogRecord logRecord = CassandraStoreTest.createLogRecord(); impl.storeLog(logRecord); Mockito.verify(store, Mockito.atLeast(1)).store(logRecord); } @Test public void testMetricStoreList(){ List<TSDRMetricRecord> list = new ArrayList<>(2); TSDRMetricRecord metricRecord = CassandraStoreTest.createMetricRecord(); list.add(metricRecord); impl.storeMetric(list); Mockito.verify(store, Mockito.atLeast(1)).store(metricRecord); } @Test public void testLogStoreList(){ List<TSDRLogRecord> list = new ArrayList<>(2); TSDRLogRecord logRecord = CassandraStoreTest.createLogRecord(); list.add(logRecord); impl.storeLog(list); Mockito.verify(store, Mockito.atLeast(1)).store(logRecord); } @Test public void testPurgeTSDRRecords(){ impl.purge(DataCategory.QUEUESTATS,0L); Mockito.verify(store,Mockito.atLeast(1)).purge(DataCategory.QUEUESTATS,0L); } @Test public void testPurgeAllTSDRRecords(){ impl.purge(0L); for(DataCategory dc:DataCategory.values()) { Mockito.verify(store, Mockito.atLeast(1)).purge(dc, 0L); } } @Test public void testGetTSDRMetricRecords(){ impl.getTSDRMetricRecords("Test",0L,0L); Mockito.verify(store,Mockito.atLeastOnce()).getTSDRMetricRecords("Test",0L,0L,1000); } @Test public void testGetTSDRLogRecords(){ impl.getTSDRLogRecords("Test",0L,0L); Mockito.verify(store,Mockito.atLeastOnce()).getTSDRLogRecords("Test",0L,0L,1000); } }