package org.okinawaopenlabs.ofpm.service;
import static org.junit.Assert.*;
import mockit.Expectations;
import mockit.NonStrictExpectations;
import java.lang.reflect.Type;
import javax.ws.rs.core.Response;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.okinawaopenlabs.ofpm.json.common.BaseResponse;
import org.okinawaopenlabs.ofpm.business.*;
import org.okinawaopenlabs.ofpm.json.topology.logical.*;
import org.okinawaopenlabs.ofpm.service.LogicalService;
import org.okinawaopenlabs.ofpm.service.LogicalServiceImpl;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class LogicalServiceImplTest {
private Gson gson = new Gson();
private String testLogicalTopologyJson = "{nodes:[{deviceName:'novaNode01'},{deviceName:'novaNode02'}], links:[{deviceName:['novaNode01', 'novaNode02']}]}";
private String testLogicalTopologyOutJson = "{status:200, message:'null', result:{nodes:[{deviceName:'novaNode01'},{deviceName:'novaNode02'}], links:[{deviceName:['novaNode01', 'novaNode02']}]}}";
private LogicalTopologyGetJsonOut testLogicalTopologyOut;
private String validBaseResponseJson = "{status:201, message:''}";
private BaseResponse validBaseResponse;
public LogicalServiceImplTest() {
Type type = new TypeToken<LogicalTopology>(){}.getType();
type = new TypeToken<LogicalTopologyGetJsonOut>(){}.getType();
testLogicalTopologyOut = gson.fromJson(testLogicalTopologyOutJson, type);
type = new TypeToken<BaseResponse>() {}.getType();
validBaseResponse = gson.fromJson(validBaseResponseJson, type);
}
/* @Test
public void testGetLogicalTopologyTest() {
new NonStrictExpectations() {
LogicalBusinessImpl logiBiz;
{
new LogicalBusinessImpl();
logiBiz.getLogicalTopology((String) withNotNull());
result = testLogicalTopologyOutJson;
}
};
Type type = new TypeToken<LogicalTopologyGetJsonOut>(){}.getType();
LogicalService ls = new LogicalServiceImpl();
Response res = ls.getLogicalTopology("test");
String topoOut = gson.toJson(res, type);
assertEquals(topoOut, testLogicalTopologyOut);
}
*/
@Test
public void updateLogicalTopologyTest() {
new Expectations() {
LogicalBusinessImpl logiBiz;
{
new LogicalBusinessImpl();
logiBiz.updateLogicalTopology((String) withNotNull());
// result = validBaseResponseJson;
}
};
LogicalService ls = new LogicalServiceImpl();
Response res = ls.updateLogicalTopology(testLogicalTopologyJson);
// BaseResponse resOut = BaseResponse.fromJson((String)res);
assertEquals(res, validBaseResponseJson);
// assertEquals(resOut, validBaseResponse);
}
}