/* * Copyright 2017, Pearson Education, Learning Technology Group * * TableCreationServiceTest.java */ package com.pearson.ltg.ole.event.tracker.service; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.test.util.ReflectionTestUtils; import com.pearson.ltg.ole.event.tracker.dbsession.DynamoDBOperations; import com.pearson.ltg.ole.event.tracker.entity.EventTrackerMapping; public class TableCreationServiceTest { @InjectMocks TableCreationService tablecreationservice; @Mock DynamoDBOperations mockDynamoDBOperations; @Before public void setup() { MockitoAnnotations.initMocks(this); ReflectionTestUtils.setField(tablecreationservice, "environment", "dev"); ReflectionTestUtils.setField(tablecreationservice, "eventTrackerTablename", "_realize_webapp_event-tracker"); } @Test public void testConstructEventTrackerTable() { String expectedTableName = "dev_realize_webapp_event-tracker_Feb_2017"; when(mockDynamoDBOperations.createTable(EventTrackerMapping.class, expectedTableName)).thenReturn(expectedTableName); String suffixReturnValue = tablecreationservice.constructEventTrackerTable(); assertEquals(expectedTableName, suffixReturnValue); verify(mockDynamoDBOperations).createTable(EventTrackerMapping.class, expectedTableName); } }