package org.opennaas.itests.ip.opener;
/*
* #%L
* OpenNaaS :: iTests :: IP :: Opener
* %%
* Copyright (C) 2007 - 2014 FundaciĆ³ Privada i2CAT, Internet i InnovaciĆ³ a Catalunya
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
import java.io.StringWriter;
import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import org.opennaas.extensions.router.model.ProtocolEndpoint.ProtocolIFType;
import org.opennaas.extensions.router.opener.client.model.IPData;
import org.opennaas.extensions.router.opener.client.model.Interface;
import org.opennaas.extensions.router.opener.client.rpc.GetInterfaceResponse;
import org.opennaas.extensions.router.opener.client.rpc.GetInterfacesResponse;
import org.opennaas.extensions.router.opener.client.rpc.SetInterfaceIPRequest;
import org.opennaas.extensions.router.opener.client.rpc.SetInterfaceResponse;
import org.opennaas.extensions.router.opener.client.rpc.Utils;
public abstract class OpenerTestHelper {
public static String sampleGetInterfacesResponse(List<String> ifaces) throws JAXBException {
GetInterfacesResponse response = new GetInterfacesResponse();
response.setInterfaces(ifaces);
StringWriter writer = new StringWriter();
JAXBContext jaxbCon = JAXBContext.newInstance(GetInterfacesResponse.class);
Marshaller marshaller = jaxbCon.createMarshaller();
marshaller.marshal(response, writer);
return writer.toString();
}
public static String sampleGetInterfaceResponse(String ifaceName, String ipv4) throws JAXBException {
GetInterfaceResponse response = new GetInterfaceResponse();
Interface iface = new Interface();
iface.setName(ifaceName);
if (ipv4 != null) {
IPData ipData = new IPData();
ipData.setAddress(ipv4.split("/")[0]);
ipData.setFamilyType(ProtocolIFType.IPV4.name());
ipData.setPrefixLength(ipv4.split("/")[1]);
iface.setIp(ipData);
}
response.setInterface(iface);
StringWriter writer = new StringWriter();
JAXBContext jaxbCon = JAXBContext.newInstance(GetInterfaceResponse.class);
Marshaller marshaller = jaxbCon.createMarshaller();
marshaller.marshal(response, writer);
return writer.toString();
}
public static String sampleSetInterfaceRequest(String iface, String ipv4) throws JAXBException {
String ipAdderss = ipv4.split("/")[0];
String prefixLength = ipv4.split("/")[1];
SetInterfaceIPRequest req = Utils.createSetInterfaceIPRequest(iface, ipAdderss, prefixLength);
StringWriter writer = new StringWriter();
JAXBContext jaxbCon = JAXBContext.newInstance(SetInterfaceIPRequest.class);
Marshaller marshaller = jaxbCon.createMarshaller();
marshaller.marshal(req, writer);
return writer.toString();
}
public static String sampleSetInterfaceResponse(String responseMessage) throws JAXBException {
SetInterfaceResponse response = new SetInterfaceResponse();
response.setError(null);
response.setResponse(responseMessage);
StringWriter writer = new StringWriter();
JAXBContext jaxbCon = JAXBContext.newInstance(SetInterfaceResponse.class);
Marshaller marshaller = jaxbCon.createMarshaller();
marshaller.marshal(response, writer);
return writer.toString();
}
}