/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* Copyright (c) 2013, MPL CodeInside http://codeinside.ru
*/
package ru.codeinside.gws3417c;
import org.junit.Assert;
import org.junit.Test;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import ru.codeinside.gws.api.ClientRequest;
import ru.codeinside.gws.api.ClientResponse;
import ru.codeinside.gws.api.Packet;
import ru.codeinside.gws.api.VerifyResult;
import javax.xml.namespace.QName;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;
import java.io.IOException;
import java.io.InputStream;
public class FssClientTest extends Assert {
@Test
public void testCreateClientRequest() throws Exception {
DummyContext ctx = new DummyContext();
ctx.setVariable("smevTest", "Первичный запрос");
ctx.setVariable("regionFrom", "01");
ctx.setVariable("nameOrganizationFrom", "ФСС");
ctx.setVariable("iNameCiv", "Иванов");
ctx.setVariable("fNameCiv", "Иван");
ctx.setVariable("mNameCiv", "Иванович");
ctx.setVariable("codeKind", "21");
ctx.setVariable("seriesNumber", "0000000000");
ctx.setVariable("inn", "000000000000");
ctx.setVariable("snils", "00000000000");
ctx.setVariable("docDatCiv", "01.01.1970");
ctx.setVariable("status", "Отец");
ctx.setVariable("iNameKind", "Иванов");
ctx.setVariable("fNameKind", "Иван");
ctx.setVariable("mNameKind", "Иванович");
ctx.setVariable("docDatKind", "01.01.2000");
ctx.setVariable("sbDoc", "00");
ctx.setVariable("nbDoc", "0000");
ctx.setVariable("startDate", "01.01.2000");
ctx.setVariable("endDate", "01.01.2001");
FssClient fss = new FssClient();
ClientRequest request = fss.createClientRequest(ctx);
assertTrue(request.appData.startsWith("<запрос "));
}
@Test
public void testResponse() throws SOAPException, IOException {
InputStream is = getClass().getClassLoader().getResourceAsStream("response.xml");
SOAPMessage message = MessageFactory.newInstance().createMessage(null, is);
NodeList nodes = message.getSOAPPart().getElementsByTagNameNS("http://smev.gosuslugi.ru/rev111111", "AppData");
assertEquals(1, nodes.getLength());
FssClient fss = new FssClient();
DummyContext ctx = new DummyContext();
ClientResponse response = new ClientResponse();
response.verifyResult = new VerifyResult(null, null, null);
response.action = new QName("http://fss.ru/SvedRegisterNoPosob/request", "requestResponse");
response.packet = new Packet();
response.packet.status = Packet.Status.RESULT;
response.appData = (Element) nodes.item(0);
fss.processClientResponse(response, ctx);
}
}