blob: e8c243221bb7240387b82a1eebe091efcd9c6897 [file] [log] [blame]
package com.a.eye.skywalking.collector.worker.globaltrace;
import com.a.eye.skywalking.collector.worker.globaltrace.persistence.GlobalTraceSearchWithGlobalId;
import com.a.eye.skywalking.collector.worker.segment.SegmentIndex;
import com.a.eye.skywalking.collector.worker.storage.EsClient;
import com.a.eye.skywalking.collector.worker.storage.GetResponseFromEs;
import com.a.eye.skywalking.collector.worker.tools.JsonFileReader;
import com.google.gson.JsonObject;
import org.elasticsearch.action.get.GetResponse;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
import static org.powermock.api.mockito.PowerMockito.mock;
import static org.powermock.api.mockito.PowerMockito.when;
/**
* @author pengys5
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({EsClient.class, GetResponseFromEs.class})
@PowerMockIgnore("javax.management.*")
public class GlobalTraceSearchTestCase {
@Test
public void testSearchWithGlobalId() throws Exception {
String globalTraceId = "Global.1";
String segment_1 = "Segment.1490922929258.927784221.5991.27.1";
GetResponseFromEs getResponseFromEs = PowerMockito.mock(GetResponseFromEs.class);
Whitebox.setInternalState(GetResponseFromEs.class, "INSTANCE", getResponseFromEs);
String globalData = JsonFileReader.INSTANCE.read(this.getClass().getResource("/").getPath() + "/json/globaltrace/persistence/globaltrace_search.json");
mockSegment(getResponseFromEs, GlobalTraceIndex.INDEX, GlobalTraceIndex.TYPE_RECORD, globalTraceId, globalData);
String segment_Data = JsonFileReader.INSTANCE.read(this.getClass().getResource("/").getPath() + "/json/globaltrace/persistence/globaltrace_segment.json");
mockSegment(getResponseFromEs, SegmentIndex.INDEX, SegmentIndex.TYPE_RECORD, segment_1, segment_Data);
GlobalTraceSearchWithGlobalId search = new GlobalTraceSearchWithGlobalId(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE, null, null);
JsonObject responseObj = new JsonObject();
// search.allocateJob(globalTraceId, responseObj);
// System.out.println(responseObj);
}
private void mockSegment(GetResponseFromEs getResponseFromEs, String index, String type, String id, String source) {
GetResponse getResponse = mock(GetResponse.class);
when(getResponseFromEs.get(index, type, id)).thenReturn(getResponse);
when(getResponse.getSourceAsString()).thenReturn(source);
}
}