Skip to content

Commit

Permalink
added more unit tests for StandardXRoadConsumerMessageExtractor, whic…
Browse files Browse the repository at this point in the history
…h fixes jroad issue nortal#12
  • Loading branch information
Anton Anikin committed Oct 12, 2017
1 parent f9d9745 commit e60210d
Show file tree
Hide file tree
Showing 7 changed files with 241 additions and 76 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public XRoadMessage<XmlObject> extractData(WebServiceMessage response) throws IO
NodeList kehaNodes = body.getChildNodes();
kehaNode = body.getChildNodes().item(0);
if (kehaNode instanceof javax.xml.soap.Text) {
kehaNode = kehaNodes.item(1);
kehaNode = getKehaNode(kehaNodes, 1);
}
if (kehaNodes.getLength() > 1) {
// In case of multiple elements take the first one that matches specified hierarchy
Expand Down Expand Up @@ -140,6 +140,14 @@ public XRoadMessage<XmlObject> extractData(WebServiceMessage response) throws IO

}

private Node getKehaNode(NodeList kehaNodes, int nextIndex) {
Node kehaNode = kehaNodes.item(nextIndex);
if (kehaNode instanceof javax.xml.soap.Text) {
kehaNode = getKehaNode(kehaNodes, ++nextIndex);
}
return kehaNode;
}

private void checkForNonTechnicalFault(Node kehaNode) throws NonTechnicalFaultException {
String nonTechnicalFaultCode = null;
String nonTechnicalFaultString = null;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.nortal.jroad.client.service.extractor;


import com.nortal.jroad.model.XRoadMessage;
import com.nortal.jroad.model.XmlBeansXRoadMetadata;
import org.junit.Test;
import org.springframework.core.io.ClassPathResource;
Expand All @@ -12,18 +13,94 @@
import java.io.IOException;
import java.io.InputStream;

import static org.junit.Assert.assertEquals;

public class StandardXRoadConsumerMessageExtractorTest {

private final static String TEST_MESSAGE = "<response xmlns:era=\"http://earest.x-road.eu/\" xmlns=\"f\">\n" +
" <request xmlns=\"\">\n" +
" <ParinguKoostamiseAeg>2017-10-06T15:51:00</ParinguKoostamiseAeg>\n" +
" </request>\n" +
" <response xmlns=\"\">\n" +
" <ArestiVastused>\n" +
" <Vastus>\n" +
" <IsikuOigusedKohustused>\n" +
" <Akt>\n" +
" <AlgParinguUnikaalneID>A801201702209240</AlgParinguUnikaalneID>\n" +
" <VolitatudKasutajad>\n" +
" <VolitatudKasutaja>\n" +
" <VolituseLaad/>\n" +
" <VolituseFailiNimi>jyritamm</VolituseFailiNimi>\n" +
" <VolituseFail>JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu\n" +
"ZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+\n" +
"CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb290IDEgMCBS\n" +
"L0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0ZB\n" +
"MjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0Y+XSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+\n" +
"Pg0Kc3RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G</VolituseFail>\n" +
" </VolitatudKasutaja>\n" +
" </VolitatudKasutajad>\n" +
" </Akt>\n" +
" </IsikuOigusedKohustused>\n" +
" </Vastus>\n" +
" </ArestiVastused>\n" +
" </response>\n" +
"</response>";


private final static String TEST_MESSAGE2 = "<response xmlns:era=\"http://earest.x-road.eu/\" xmlns=\"f\">\n" +
" <request xmlns=\"\">\n" +
" <ParinguKoostamiseAeg>2017-10-06T15:51:00</ParinguKoostamiseAeg>\n" +
" </request>\n" +
" <response xmlns=\"\">\n" +
" <ArestiVastused>\n" +
" <Vastus>\n" +
" <IsikuOigusedKohustused>\n" +
" <Akt>\n" +
" <AlgParinguUnikaalneID>A801201702209240</AlgParinguUnikaalneID>\n" +
" <VolitatudKasutajad>\n" +
" <VolitatudKasutaja>\n" +
" <VolituseLaad/>\n" +
" <VolituseFailiNimi>jyritamm</VolituseFailiNimi>\n" +
" <VolituseFail>JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb" +
"2cvUGFnZXMgMiAwIFIvTGFuZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01h" +
"cmtlZCB0cnVlPj4+CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb29" +
"0IDEgMCBSL0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0" +
"ZBMjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0YXSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+Pg0Kc3" +
"RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G</VolituseFail>\n" +
" </VolitatudKasutaja>\n" +
" </VolitatudKasutajad>\n" +
" </Akt>\n" +
" </IsikuOigusedKohustused>\n" +
" </Vastus>\n" +
" </ArestiVastused>\n" +
" </response>\n" +
"</response>";


private SOAPMessage getMessageFromString(String filename) throws SOAPException, IOException {
InputStream is = (new ClassPathResource(filename)).getInputStream();

return MessageFactory.newInstance().createMessage(null, is);
}

@Test
public void testExtractDataWithComment() throws IOException, SOAPException {
StandardXRoadConsumerMessageExtractor extractor =
new StandardXRoadConsumerMessageExtractor(new XmlBeansXRoadMetadata("operation",
"b",
"request",
"d",
"response",
"f",
"1"));
// with comment
XRoadMessage message = extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail6.xml")));
assertEquals(TEST_MESSAGE, message.getContent().toString());
}


@Test
public void testExtractData() throws IOException, SOAPException {
public void testExtractDataBase64SingleRow() throws IOException, SOAPException {
StandardXRoadConsumerMessageExtractor extractor =
new StandardXRoadConsumerMessageExtractor(new XmlBeansXRoadMetadata("operation",
"b",
Expand All @@ -32,21 +109,37 @@ public void testExtractData() throws IOException, SOAPException {
"response",
"f",
"1"));
// whole file in a single row (base64binary in a single row)
XRoadMessage message = extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail4.xml")));
assertEquals(TEST_MESSAGE2, message.getContent().toString());
}

@Test
public void testExtractDataBase64PEMFormat() throws IOException, SOAPException {
StandardXRoadConsumerMessageExtractor extractor =
new StandardXRoadConsumerMessageExtractor(new XmlBeansXRoadMetadata("operation",
"b",
"request",
"d",
"response",
"f",
"1"));

// xml elements in a single row, but base64binary part on different rows
extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail1.xml")));

// manually formated file with whitespaces between elements without new row
extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail2.xml")));
// xml elements in a single row, but base64binary part on different rows (PEM format)
XRoadMessage message1 = extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail1.xml")));
assertEquals(TEST_MESSAGE, message1.getContent().toString());

// menually formated file without whitespaces between elements and without new row
extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail3.xml")));
// manually formated file with whitespaces between elements without new row (base64binary in PEM format)
XRoadMessage message2 = extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail2.xml")));
assertEquals(TEST_MESSAGE, message2.getContent().toString());

// whole file in a single row
extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail4.xml")));
// menually formated file without whitespaces between elements and without new row (base64binary in PEM format)
XRoadMessage message3 = extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail3.xml")));
assertEquals(TEST_MESSAGE, message3.getContent().toString());

// menually formated file with whitespaces between elements and without new row
extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail5.xml")));
// menually formated file with whitespaces between elements and without new row (base64binary in PEM format)
XRoadMessage message5 = extractor.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail5.xml")));
assertEquals(TEST_MESSAGE, message5.getContent().toString());
}
}
10 changes: 5 additions & 5 deletions client-transport/src/test/resources/extractor/EarestFail1.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ear="http://earest.x-road.eu/" xmlns:id="http://x-road.eu/xsd/identifiers" xmlns:xroad="http://x-road.eu/xsd/xroad.xsd"><SOAP-ENV:Header><xroad:userId>70000349</xroad:userId><xroad:id>15d11af556270000349-1423336605</xroad:id><xroad:protocolVersion>4.0</xroad:protocolVersion><xroad:client id:objectType="SUBSYSTEM"><id:xRoadInstance>ee-dev</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>70000349</id:memberCode><id:subsystemCode>earest-client</id:subsystemCode></xroad:client><xroad:service id:objectType="SERVICE"><id:xRoadInstance>ee-dev</id:xRoadInstance><id:memberClass>GOV</id:memberClass><id:memberCode>70000310</id:memberCode><id:subsystemCode>earest</id:subsystemCode><id:serviceCode>MulleSaabunudAsjad</id:serviceCode><id:serviceVersion>v1</id:serviceVersion></xroad:service></SOAP-ENV:Header><SOAP-ENV:Body><era:MulleSaabunudAsjadResponse xmlns:era="http://earest.x-road.eu/"><request><ParinguKoostamiseAeg>2017-10-06T15:51:00</ParinguKoostamiseAeg></request><response><ArestiVastused><Vastus><IsikuOigusedKohustused><Akt><AlgParinguUnikaalneID>A801201702209240</AlgParinguUnikaalneID><VolitatudKasutajad><VolitatudKasutaja><VolituseLaad /><VolituseFailiNimi>jyritamm</VolituseFailiNimi><VolituseFail>JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu
ZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb290IDEgMCBS
L0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0ZB
MjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0Y+XSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+
Pg0Kc3RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G</VolituseFail></VolitatudKasutaja></VolitatudKasutajad></Akt></IsikuOigusedKohustused></Vastus></ArestiVastused></response></era:MulleSaabunudAsjadResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
ZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb290IDEgMCBS
L0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0ZB
MjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0Y+XSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+
Pg0Kc3RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G</VolituseFail></VolitatudKasutaja></VolitatudKasutajad></Akt></IsikuOigusedKohustused></Vastus></ArestiVastused></response></era:MulleSaabunudAsjadResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
10 changes: 5 additions & 5 deletions client-transport/src/test/resources/extractor/EarestFail2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@
<VolituseLaad/>
<VolituseFailiNimi>jyritamm</VolituseFailiNimi>
<VolituseFail>JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu
ZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb290IDEgMCBS
L0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0ZB
MjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0Y+XSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+
Pg0Kc3RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G</VolituseFail>
ZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb290IDEgMCBS
L0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0ZB
MjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0Y+XSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+
Pg0Kc3RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G</VolituseFail>
</VolitatudKasutaja>
</VolitatudKasutajad>
</Akt>
Expand Down
103 changes: 54 additions & 49 deletions client-transport/src/test/resources/extractor/EarestFail3.xml
Original file line number Diff line number Diff line change
@@ -1,50 +1,55 @@
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xroad="http://x-road.eu/xsd/xroad.xsd" xmlns:id="http://x-road.eu/xsd/identifiers" xmlns:ear="http://earest.x-road.eu/">
<SOAP-ENV:Header>
<xroad:userId>70000349</xroad:userId>
<xroad:id>15d11af556270000349-1423336605</xroad:id>
<xroad:protocolVersion>4.0</xroad:protocolVersion>
<xroad:client id:objectType="SUBSYSTEM">
<id:xRoadInstance>ee-dev</id:xRoadInstance>
<id:memberClass>GOV</id:memberClass>
<id:memberCode>70000349</id:memberCode>
<id:subsystemCode>earest-client</id:subsystemCode>
</xroad:client>
<xroad:service id:objectType="SERVICE">
<id:xRoadInstance>ee-dev</id:xRoadInstance>
<id:memberClass>GOV</id:memberClass>
<id:memberCode>70000310</id:memberCode>
<id:subsystemCode>earest</id:subsystemCode>
<id:serviceCode>MulleSaabunudAsjad</id:serviceCode>
<id:serviceVersion>v1</id:serviceVersion>
</xroad:service>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><era:MulleSaabunudAsjadResponse xmlns:era="http://earest.x-road.eu/">
<request>
<ParinguKoostamiseAeg>2017-10-06T15:51:00</ParinguKoostamiseAeg>
</request>
<response>
<ArestiVastused>
<Vastus>
<IsikuOigusedKohustused>
<Akt>
<AlgParinguUnikaalneID>A801201702209240</AlgParinguUnikaalneID>
<VolitatudKasutajad>
<VolitatudKasutaja>
<VolituseLaad/>
<VolituseFailiNimi>jyritamm</VolituseFailiNimi>
<VolituseFail>JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu
ZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb290IDEgMCBS
L0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0ZB
MjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0Y+XSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+
Pg0Kc3RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G</VolituseFail>
</VolitatudKasutaja>
</VolitatudKasutajad>
</Akt>
</IsikuOigusedKohustused>
</Vastus>
</ArestiVastused>
</response>
</era:MulleSaabunudAsjadResponse>
</SOAP-ENV:Body>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xroad="http://x-road.eu/xsd/xroad.xsd" xmlns:id="http://x-road.eu/xsd/identifiers"
xmlns:ear="http://earest.x-road.eu/">
<SOAP-ENV:Header>
<xroad:userId>70000349</xroad:userId>
<xroad:id>15d11af556270000349-1423336605</xroad:id>
<xroad:protocolVersion>4.0</xroad:protocolVersion>
<xroad:client id:objectType="SUBSYSTEM">
<id:xRoadInstance>ee-dev</id:xRoadInstance>
<id:memberClass>GOV</id:memberClass>
<id:memberCode>70000349</id:memberCode>
<id:subsystemCode>earest-client</id:subsystemCode>
</xroad:client>
<xroad:service id:objectType="SERVICE">
<id:xRoadInstance>ee-dev</id:xRoadInstance>
<id:memberClass>GOV</id:memberClass>
<id:memberCode>70000310</id:memberCode>
<id:subsystemCode>earest</id:subsystemCode>
<id:serviceCode>MulleSaabunudAsjad</id:serviceCode>
<id:serviceVersion>v1</id:serviceVersion>
</xroad:service>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<era:MulleSaabunudAsjadResponse xmlns:era="http://earest.x-road.eu/">
<request>
<ParinguKoostamiseAeg>2017-10-06T15:51:00</ParinguKoostamiseAeg>
</request>
<response>
<ArestiVastused>
<Vastus>
<IsikuOigusedKohustused>
<Akt>
<AlgParinguUnikaalneID>A801201702209240</AlgParinguUnikaalneID>
<VolitatudKasutajad>
<VolitatudKasutaja>
<VolituseLaad/>
<VolituseFailiNimi>jyritamm</VolituseFailiNimi>
<VolituseFail>
JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu
ZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb290IDEgMCBS
L0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0ZB
MjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0Y+XSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+
Pg0Kc3RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G
</VolituseFail>
</VolitatudKasutaja>
</VolitatudKasutajad>
</Akt>
</IsikuOigusedKohustused>
</Vastus>
</ArestiVastused>
</response>
</era:MulleSaabunudAsjadResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
10 changes: 5 additions & 5 deletions client-transport/src/test/resources/extractor/EarestFail5.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@
<VolituseLaad/>
<VolituseFailiNimi>jyritamm</VolituseFailiNimi>
<VolituseFail>JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu
ZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb290IDEgMCBS
L0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0ZB
MjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0Y+XSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+
Pg0Kc3RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G</VolituseFail>
ZyhldC1FRSkgL1N0cnVjdFRyZWVSb290IDE1IDAgUi9NYXJrSW5mbzw8L01hcmtlZCB0cnVlPj4+
CjE1MDc2Nw0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0KPDwvU2l6ZSAyNy9Sb290IDEgMCBS
L0luZm8gMTQgMCBSL0lEWzxBNDQzRkEyNkVCQzM3RTRDODczOUFEQkYxNUEyRTZDRj48QTQ0M0ZB
MjZFQkMzN0U0Qzg3MzlBREJGMTVBMkU2Q0Y+XSAvUHJldiAxNTA3NjcvWFJlZlN0bSAxNTA0NjM+
Pg0Kc3RhcnR4cmVmDQoxNTE0NjUNCiUlRU9G</VolituseFail>
</VolitatudKasutaja>
</VolitatudKasutajad>
</Akt>
Expand Down
Loading

0 comments on commit e60210d

Please sign in to comment.