package com.opower.updater.operation; import com.opower.updater.LayoutUpdate; import com.opower.updater.admin.LayoutUpdateTable; import com.opower.updater.ddl.DDLRunner; import org.kiji.schema.KijiMetaTable; import java.io.IOException; import static org.mockito.Matchers.anyObject; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; /** * Base test class to provide setup for mocks and other test utility methods for * {@link com.opower.updater.operation.TableOperator} test classes. * * @author felix.trepanier */ public class BaseTableOperatorTest { protected static final String TABLE_NAME = "test"; protected DDLRunner mockDDLRunner; protected LayoutUpdateTable mockUpdateTable; protected KijiMetaTable mockMetaTable; protected void setup() throws IOException { mockDDLRunner = mock(DDLRunner.class); mockUpdateTable = mock(LayoutUpdateTable.class); mockMetaTable = mock(KijiMetaTable.class); } /** * Verify that there are no DDL statement executed nor any update in the layout_update table. * * @throws IOException */ protected void verifyNoDDLNoLayoutUpdate() throws IOException { verifyZeroInteractions(mockDDLRunner); verify(mockUpdateTable, never()).insertLayoutUpdate(anyString(), (LayoutUpdate) anyObject()); } }