package org.skywalking.apm.collector.worker;
import org.apache.logging.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.skywalking.apm.collector.worker.storage.RecordData;
import org.skywalking.apm.collector.worker.storage.RecordPersistenceData;
import static org.mockito.Mockito.*;
/**
* @author pengys5
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest(RecordPersistenceMember.class)
public class RecordPersistenceMemberTestCase {
@Test
public void analyse() throws Exception {
RecordPersistenceMember member = PowerMockito.mock(RecordPersistenceMember.class, CALLS_REAL_METHODS);
Logger logger = mock(Logger.class);
when(member.logger()).thenReturn(logger);
RecordPersistenceData data = mock(RecordPersistenceData.class);
RecordData recordData = new RecordData("test1");
when(data.getOrCreate(anyString())).thenReturn(recordData);
when(member.getPersistenceData()).thenReturn(data);
RecordData recordData_1 = new RecordData("test2");
member.analyse(recordData_1);
verify(data).hold();
verify(data).release();
member.analyse(new Object());
}
}