package com.nortal.jroad.client.rr;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import javax.annotation.Resource;
import junit.framework.Assert;
import org.apache.xmlbeans.XmlString;
import org.junit.Test;
import com.nortal.jroad.client.exception.XRoadServiceConsumptionException;
import com.nortal.jroad.client.rr.RrXTeeServiceImpl;
import com.nortal.jroad.client.rr.RrXTeeService.RR42RequestCallback;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.DokumendiTyyp;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.Kodif;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR40Response;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR42Request;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR42Response;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR43Response;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR52Response;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR63ResponseV1;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR81ResponseV1;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR96ResponseV1;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RRExtDocumentDataRequest;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RRExtDocumentDataResponse;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR52Response.Dok;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR52Response.Isik;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR67Response.TtKoodid;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR72Response.TtIsikud;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RRExtDocumentDataRequest.Dokument;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RRExtDocumentDataRequest.Isikud;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RRExtDocumentDataRequest.Tegevus;
import com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RRExtDocumentDataRequest.Dokument.KoostanudAsutus;
import com.nortal.jroad.client.test.BaseXRoadServiceImplTest;
import com.nortal.jroad.client.util.XmlBeansUtil;
/**
* @author Roman Tekhov
*/
public class RrXTeeServiceImplTest extends BaseXRoadServiceImplTest {
@Resource
private RrXTeeServiceImpl rrXTeeServiceImpl;
@Test
public void findRR72Isik() throws XRoadServiceConsumptionException {
List<TtIsikud.Item> items = rrXTeeServiceImpl.findRR72Isik(
"37109046017", "47702037790");
Assert.assertNotNull(items);
Assert.assertTrue("Person not found!", !items.isEmpty());
TtIsikud.Item isik1 = items.get(0);
Assert.assertEquals("\u017D\u0160\u017E\u0161",
isik1.getTtIsikudCEesnimi());
Assert.assertEquals("\u00C4\u00D5\u00D6\u00DC\u00E4\u00F5\u00F6\u00FC",
isik1.getTtIsikudCPerenimi());
TtIsikud.Item isik2 = items.get(1);
Assert.assertEquals("KATI", isik2.getTtIsikudCEesnimi());
Assert.assertEquals("\u00D6\u00D6VIIUL", isik2.getTtIsikudCPerenimi());
}
@Test
public void RR63ResponseV1() throws XRoadServiceConsumptionException {
String idCode = "38307070013";
RR63ResponseV1 response = rrXTeeServiceImpl.findRR63IsikAadrDok(
"Tamm*", "A*", idCode, null);
Assert.assertNotNull(response);
Assert.assertTrue(response.getIsikuandmed().sizeOfItemArray() > 0);
}
@Test
public void getRR81KMAisikkontroll() throws XRoadServiceConsumptionException {
RR81ResponseV1 response = rrXTeeServiceImpl
.getRR81KMAisikkontrollv1("37707010014");
Assert.assertNotNull(response);
Assert.assertEquals("PEKKA", response.getEesnimi());
Assert.assertEquals("01.07.1977", response.getSynniaeg());
}
@Test
public void findRR40isikTaielikIsikukoodV1()
throws XRoadServiceConsumptionException {
RR40Response response = rrXTeeServiceImpl
.findRR40isikTaielikIsikukood("37707010014");
Assert.assertNotNull(response);
Assert.assertEquals("SOOME", response.getIsik().getItemList().get(0)
.getIsikEmakeel());
Assert.assertEquals("01.07.1977",
response.getIsik().getItemList().get(0).getIsikSynniaeg());
}
@Test
public void findRR42isikAadressKoodV1()
throws XRoadServiceConsumptionException {
RR42Response response = rrXTeeServiceImpl
.findRR42isikAadressKood(new RR42RequestCallback() {
public void populate(RR42Request paring) {
XmlString isikukoodElement = XmlBeansUtil
.getAttributedXmlString("37707010014");
paring.xsetIsikukoodFragment(isikukoodElement);
}
});
Assert.assertNotNull(response);
Assert.assertEquals("SOOMLANE", response.getIsik().getItemList().get(0)
.getIsikPerekonnanimi());
Assert.assertEquals("JOKKA", response.getIsik().getItemList().get(0)
.getIsikIsanimi());
}
@Test
public void getRR52() throws XRoadServiceConsumptionException {
RR52Response response = rrXTeeServiceImpl.getRR52("47707178682",
"Olga", "Sidorova");
Assert.assertNotNull(response);
List<Dok.Item> dokList = response.getDok().getItemList();
Assert.assertTrue(!dokList.isEmpty());
Assert.assertEquals("ELAMISLUBA", dokList.get(0).getDokDokTyyp());
List<Isik.Item> isikList = response.getIsik().getItemList();
Assert.assertTrue(!isikList.isEmpty());
Assert.assertEquals("OLGA", isikList.get(0).getIsikEesnimi());
}
@Test
public void getRR43dokument() throws XRoadServiceConsumptionException {
RR43Response response = rrXTeeServiceImpl.getRR43dokument(
"mingi dok number", "serria 1222", DokumendiTyyp.L_9);
Assert.assertNotNull(response);
List<com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR43Response.Dok.Item> dokList = response
.getDok().getItemList();
Assert.assertFalse(dokList.isEmpty());
Assert.assertEquals("ELAMISLUBA", dokList.get(0).getDokDokTyyp());
}
@Test
public void sendRRExtDocumentDataArkLuba()
throws XRoadServiceConsumptionException {
try {
DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
RRExtDocumentDataRequest request = RRExtDocumentDataRequest.Factory
.newInstance();
request.setTegevus(Tegevus.K);
Dokument dokument = request.addNewDokument();
Kodif liik = dokument.addNewLiik();
liik.setKood("D48");
liik.setNimi("juhiluba");
dokument.setLiik(liik);
dokument.setDokumendiNumber("ET123456");
Calendar valjandiseKp = Calendar.getInstance();
valjandiseKp.setTime(dateFormat.parse("24.04.2009"));
dokument.setValjaandmiseKP(valjandiseKp);
Calendar joustumiseKP = Calendar.getInstance();
joustumiseKP.setTime(dateFormat.parse("19.04.2009"));
dokument.setJoustumiseKP(joustumiseKP);
Calendar kehtivKuniKP = Calendar.getInstance();
kehtivKuniKP.setTime(dateFormat.parse("19.04.2019"));
dokument.setKehtivKuniKP(kehtivKuniKP);
Calendar kehtetuAlatesKP = Calendar.getInstance();
kehtetuAlatesKP.setTime(dateFormat.parse("13.12.2010"));
dokument.setKehtetuAlatesKP(kehtetuAlatesKP);
dokument.setAmetnikuIsikukood("48404172231");
dokument.setAmetnikuNimed("Admin Admin");
KoostanudAsutus koostanudAsutus = dokument.addNewKoostanudAsutus();
Kodif riik = koostanudAsutus.addNewRiik();
riik.setKood("EST");
koostanudAsutus.setRiik(riik);
koostanudAsutus.setAsutuseRegNumber("70001490");
koostanudAsutus.setAsutuseNimi("Maanteeamet");
dokument.setKoostanudAsutus(koostanudAsutus);
request.setDokument(dokument);
Isikud isikud = request.addNewIsikud();
Isikud.Isik isik = isikud.addNewIsik();
isik.setIsikukood("47707178682");
isik.setEesnimi("OLGA");
isik.setEesnimiRR("OLGA");
isik.setPerenimi("SIDOROVA");
isik.setPerenimiRR("SIDOROVA");
isikud.setIsikArray(0, isik);
request.setIsikud(isikud);
RRExtDocumentDataResponse response = rrXTeeServiceImpl
.sendRRExtDocumentDataArkLuba(request);
Assert.assertNotNull(response);
Assert.assertTrue(response.getIsikud() != null);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Test
public void getRR96isikDokElukSuhe() throws XRoadServiceConsumptionException {
RR96ResponseV1 response = rrXTeeServiceImpl.getRR96isikDokElukSuhe(
"KAAREL", "METSAMEES", "32105258875", 5L);
Assert.assertNotNull(response);
Assert.assertNotNull(response.getIsikuandmed());
Assert.assertTrue(response.getIsikuandmed().getItemList().size() > 0);
Assert.assertTrue(response.getIsikuandmed().getItemList().get(0)
.getIsikuandmedPerenimi().equalsIgnoreCase("METSAMEES"));
checkXRoadAnnotation(com.nortal.jroad.client.rr.types.ee.riik.xtee.rr.producers.producer.rr.RR96ResponseV1.Isikuandmed.Item.class);
}
@Test
public void getRR67MuutusV1() throws XRoadServiceConsumptionException {
try {
SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy");
List<TtKoodid.Item> muutused = rrXTeeServiceImpl.findRR67MuutusV1(
df.parse("01.05.2013"), df.parse("01.06.2013"));
Assert.assertTrue(!muutused.isEmpty());
} catch (Exception e) {
}
}
}