https://developers.wiki.kennisnet.nl/api.php?action=feedcontributions&user=Fleischeuers01&feedformat=atomKennisnet Developers Documentatie - Gebruikersbijdragen [nl]2024-03-29T07:54:30ZGebruikersbijdragenMediaWiki 1.35.13https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8426SID:Kwalificatie-tech2018-05-14T15:06:07Z<p>Fleischeuers01: /* Substitutie test (service: replaceEckId) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1 en 5.3.0 gebruiken hun eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". SOAPUI 5.4.0 gebruikt wel de meest recente Java versie en werkt met de Nummervoorziening}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki>6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0zd5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5zf5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7fz9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! #<br />
! Gehashte invoer<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/6a1728ea5306c49a8d765d9ca6a40f6befe8baeed11e7d7160fab96582b30a33b554497eb990fe6118727761da29833f10363cb87487c04466e3d1c1510ebd90</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/feec0b7cdc92c6efae9ca1359e30fb79a00ea22eab3dbc6e0ee8ef1a0701e1067fb7d5962f7c3f18547571db5bd1717d72836cb7b75fd2edfd30fc7fdc0baaa8</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/e9e4ae5c65fc45036e8cb65ff6d80695a3496343c5b50dba47df6c0d58d5cb989b242aff432bb2dadf55bee26a385189bdd65dd6d5c4db53db30505b81a7ddeb</nowiki><br />
|}<br />
<br />
== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ==<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
<nowiki><br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
</nowiki><br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
|1<br />
|<nowiki>urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>86c801fbef7ca63a2e25a9cf2c5f76e6e8fb26e3befbcb9877d8180f6126d71d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8e06aec8c1b9dac15fc943031d8f3b3c15c3829751ac952fd5de9451682a552e309fef31a34269800c4fda43145567b0d4ae3d64e5f34b59116130cda3b22a40</nowiki><br />
|- <br />
|2<br />
|<nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
|3<br />
|<nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
|4<br />
|<nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
|5<br />
|<nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
|<nowiki>5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
|6<br />
|<nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
|<nowiki>4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
|7<br />
|<nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
|<nowiki>5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
|8<br />
|<nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
|<nowiki>cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
|9<br />
|<nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
|<nowiki>65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
|10<br />
|<nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
|<nowiki>46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
|11<br />
|<nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
|<nowiki>d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
Deze test gaat na of een substitutie goed wordt afgehandeld, en of er de foutmelding als het oude PGN wordt gebruikt goed wordt afgehandeld door het systeem.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
Deze test gaat na dat een substitutie niet voor een tweede keer naar eenzelfde nieuwe PGN kan worden uitgevoerd. Deze situatie komt voor als aan twee leerlingen (die niet op dezelfde school hoeven te zitten) hetzelfde nieuwe PGN krijgen. <br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[2] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte PGN<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki></nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>abc</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 2'''<br />
Op basis van bovenstaande stampseudoniemen worden de volgende ECK IDs gemaakt, voor het PO.<br />
<br />
{| class="wikitable"<br />
|+Tabel 4<br />
! #<br />
! Stampseudoniem<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 3'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8424SID:Kwalificatie-tech2018-05-14T07:11:18Z<p>Fleischeuers01: /* Ophalen Stampseudoniem test (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1 en 5.3.0 gebruiken hun eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". SOAPUI 5.4.0 gebruikt wel de meest recente Java versie en werkt met de Nummervoorziening}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki>6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0zd5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5zf5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7fz9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! #<br />
! Gehashte invoer<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/6a1728ea5306c49a8d765d9ca6a40f6befe8baeed11e7d7160fab96582b30a33b554497eb990fe6118727761da29833f10363cb87487c04466e3d1c1510ebd90</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/feec0b7cdc92c6efae9ca1359e30fb79a00ea22eab3dbc6e0ee8ef1a0701e1067fb7d5962f7c3f18547571db5bd1717d72836cb7b75fd2edfd30fc7fdc0baaa8</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/e9e4ae5c65fc45036e8cb65ff6d80695a3496343c5b50dba47df6c0d58d5cb989b242aff432bb2dadf55bee26a385189bdd65dd6d5c4db53db30505b81a7ddeb</nowiki><br />
|}<br />
<br />
== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ==<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
<nowiki><br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
</nowiki><br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
|1<br />
|<nowiki>urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>86c801fbef7ca63a2e25a9cf2c5f76e6e8fb26e3befbcb9877d8180f6126d71d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8e06aec8c1b9dac15fc943031d8f3b3c15c3829751ac952fd5de9451682a552e309fef31a34269800c4fda43145567b0d4ae3d64e5f34b59116130cda3b22a40</nowiki><br />
|- <br />
|2<br />
|<nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
|3<br />
|<nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
|4<br />
|<nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
|5<br />
|<nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
|<nowiki>5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
|6<br />
|<nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
|<nowiki>4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
|7<br />
|<nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
|<nowiki>5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
|8<br />
|<nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
|<nowiki>cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
|9<br />
|<nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
|<nowiki>65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
|10<br />
|<nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
|<nowiki>46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
|11<br />
|<nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
|<nowiki>d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[2] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte PGN<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki></nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>abc</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 2'''<br />
Op basis van bovenstaande stampseudoniemen worden de volgende ECK IDs gemaakt, voor het PO.<br />
<br />
{| class="wikitable"<br />
|+Tabel 4<br />
! #<br />
! Stampseudoniem<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 3'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8422SID:Kwalificatie-tech2018-05-08T09:21:28Z<p>Fleischeuers01: /* Ophalen Stampseudoniem test (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1 en 5.3.0 gebruiken hun eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". SOAPUI 5.4.0 gebruikt wel de meest recente Java versie en werkt met de Nummervoorziening}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
;#<br />
;Invoer<br />
;Gehashte invoer<br />
;Stampseudoniem<br />
<br />
;0<br />
;<nowiki>139227672</nowiki><br />
;<nowiki>a984b24e6456fa4429f50cc010e3d58733800cd2520da3a696dd58445d09d8e8</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/6aff8e3c665441ba1f42656a71bd44949988394118f5420617953b0383712cc13f8d0e0dda160d89dcc4cac8329f45458aa275ef96fa797d5738e4980be14af7</nowiki><br />
<br />
;1<br />
;<nowiki>170612673</nowiki><br />
;<nowiki>2cac7b19fdf41227fd1843751fc2e835adf03929b91354544b999e5399450556</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/8be49efe7a35d7df0c693d342d32a0b2dc8ba903d01edfd869cc7aebf31cdf16ba737f68f7cacc855f9269d02bda01cc5d6e0c1aed24db7fbc4435176dd4c372</nowiki><br />
<br />
;2<br />
;<nowiki>220500186</nowiki><br />
;<nowiki>86c0ee432000657f3cfad043f1b0b305d0d5e286002ebf16d3a9d57585d5073f</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/b72bc52794ba463bbdaf7d1df69f97eb19c199cd95dbf73b8187950f9a310a4882a7404f2eff92e93e2344696a8f8ccdf53b7642c162bc91e76757010d4715bc</nowiki><br />
<br />
;3<br />
;<nowiki>307702522</nowiki><br />
;<nowiki>4a0937819eb89b5900887564560516e15fb8895d2ba3c708989babba8cd20f13</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/0cb8bb5abde7468eb7fcadf1d3763ec141339c83de8ce7172238ffd727debd944633ab1ab3febfd43e3cfa58df3bd9fdef4b5e511422c58d7c268666b83142fa</nowiki><br />
<br />
;4<br />
;<nowiki>479694217</nowiki><br />
;<nowiki>729fd1a42d8a2204404f165452eb96f02b19a7a71acd09ab3337ded9fafa59f6</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/d2787ca664cbddc183705ca92202f3497d4723a659918d4f87a8080333df40c7676c7ea105c4842a1e30930e7d1e03372d2241d7a82d0ed3ce56cf924d6e1749</nowiki><br />
<br />
;5<br />
;<nowiki>543997911</nowiki><br />
;<nowiki>1150284386a61e65b6663d92145c641bb74b5baa117b1b63d4e2deb2dddc73ac</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/f77c849941dd4f2ff862a808556070063a3b62d799f4117a4f30a680db152e9d2037b59716e414960111e1d3468633483febdb6d786580b61d62b7cc6797bf86</nowiki><br />
<br />
;6<br />
;<nowiki>586613675</nowiki><br />
;<nowiki>04ecb5045ce821265b88111924e1ad74e89ccc10917bec13e8ae23565c388233</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/38b646be98c10e19fb675b432e916ffc1558da07e29fea3d68cb564f322a7a6efa4b145bcc3e8dfe9fee48e2ce59d51d8d6d87cde1ea4ba73a8565e707001cf8</nowiki><br />
<br />
;7<br />
;<nowiki>644153258</nowiki><br />
;<nowiki>cf0f5c373cf4a6aa243a35ca68de88c3e79e9319264ef1a30b9635134cb0900c</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/f291cd4d97542a26df559bf29fb0155c0d562190c6e86d0cd8052205cd8701b38315d2bc6fe6120fa0a38d1f1fc3b445bf2fd8fbd1c7dd5df4a55649aae68c21</nowiki><br />
<br />
;8<br />
;<nowiki>666614192</nowiki><br />
;<nowiki>44f9c5be672ec2ebb3fd54056b772b774888e696a6586bad8abda37b3094d555</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/ffc2eadd6214cb844beb37a85c35f271aa0e0eb378f97808e0c8123a0a75932c050feb5505f6bd2277acefc0b127181182cd061b3da9fa350131e03921ac9da6</nowiki><br />
<br />
;9<br />
;<nowiki>702289905</nowiki><br />
;<nowiki>c1d1aa0f6cbaa9745d052e46f223550aa6459a74827fe6c5102403611654cde4</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/53609ee72cf85bb62a30fc0c39c97d818fd4911da0884111bc7061a0f619380371179ea4699a4df3ab14cf53439dfb802f34daa5d20f2adedd0d8e11cbfb4c76</nowiki><br />
<br />
;10<br />
;<nowiki>854868604</nowiki><br />
;<nowiki>5aa1d52cffd7d2049e91069fbff59d8af43cdfeaa3e9c3ba71980c4923b05b8e</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/e31d238734f9170294e2ba7bf83a11cddcae9b3d59349b8fd427a08dc706b5c35d630157ec06bf95c7e998ddd2f742bc06c4d88c8da5cf706381b2cd663ebaf5</nowiki><br />
<br />
;11<br />
;<nowiki>992795862</nowiki><br />
;<nowiki>985687dfd4c2d7ea4c508cf0cceeae6cd0c2340f5dd6b019877e1b1b88804d85</nowiki><br />
;<nowiki>https://ketenid.nl/sppilot/1d467effe18678f5a78fe246bccb560643dda211957b8c554bc30085f40ea31f520a3efaca714862d0ad052d36352b1033afbf9b295e52581def2b8706f0a0db</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! #<br />
! Gehashte invoer<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/6a1728ea5306c49a8d765d9ca6a40f6befe8baeed11e7d7160fab96582b30a33b554497eb990fe6118727761da29833f10363cb87487c04466e3d1c1510ebd90</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/feec0b7cdc92c6efae9ca1359e30fb79a00ea22eab3dbc6e0ee8ef1a0701e1067fb7d5962f7c3f18547571db5bd1717d72836cb7b75fd2edfd30fc7fdc0baaa8</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/e9e4ae5c65fc45036e8cb65ff6d80695a3496343c5b50dba47df6c0d58d5cb989b242aff432bb2dadf55bee26a385189bdd65dd6d5c4db53db30505b81a7ddeb</nowiki><br />
|}<br />
<br />
== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ==<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
<nowiki><br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
</nowiki><br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
|1<br />
|<nowiki>urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>86c801fbef7ca63a2e25a9cf2c5f76e6e8fb26e3befbcb9877d8180f6126d71d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8e06aec8c1b9dac15fc943031d8f3b3c15c3829751ac952fd5de9451682a552e309fef31a34269800c4fda43145567b0d4ae3d64e5f34b59116130cda3b22a40</nowiki><br />
|- <br />
|2<br />
|<nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
|3<br />
|<nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
|4<br />
|<nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
|5<br />
|<nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
|<nowiki>5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
|6<br />
|<nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
|<nowiki>4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
|7<br />
|<nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
|<nowiki>5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
|8<br />
|<nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
|<nowiki>cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
|9<br />
|<nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
|<nowiki>65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
|10<br />
|<nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
|<nowiki>46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
|11<br />
|<nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
|<nowiki>d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[2] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte PGN<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki></nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>abc</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 2'''<br />
Op basis van bovenstaande stampseudoniemen worden de volgende ECK IDs gemaakt, voor het PO.<br />
<br />
{| class="wikitable"<br />
|+Tabel 4<br />
! #<br />
! Stampseudoniem<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 3'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8065SID:Kwalificatie-tech2018-02-06T16:20:12Z<p>Fleischeuers01: /* Kwalificatietest – services */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1 en 5.3.0 gebruiken hun eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". SOAPUI 5.4.0 gebruikt wel de meest recente Java versie en werkt met de Nummervoorziening}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki>6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! #<br />
! Gehashte invoer<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/6a1728ea5306c49a8d765d9ca6a40f6befe8baeed11e7d7160fab96582b30a33b554497eb990fe6118727761da29833f10363cb87487c04466e3d1c1510ebd90</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/feec0b7cdc92c6efae9ca1359e30fb79a00ea22eab3dbc6e0ee8ef1a0701e1067fb7d5962f7c3f18547571db5bd1717d72836cb7b75fd2edfd30fc7fdc0baaa8</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/e9e4ae5c65fc45036e8cb65ff6d80695a3496343c5b50dba47df6c0d58d5cb989b242aff432bb2dadf55bee26a385189bdd65dd6d5c4db53db30505b81a7ddeb</nowiki><br />
|}<br />
<br />
== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ==<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
<nowiki><br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
</nowiki><br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
|1<br />
|<nowiki>urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>86c801fbef7ca63a2e25a9cf2c5f76e6e8fb26e3befbcb9877d8180f6126d71d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8e06aec8c1b9dac15fc943031d8f3b3c15c3829751ac952fd5de9451682a552e309fef31a34269800c4fda43145567b0d4ae3d64e5f34b59116130cda3b22a40</nowiki><br />
|- <br />
|2<br />
|<nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
|3<br />
|<nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
|4<br />
|<nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
|5<br />
|<nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
|<nowiki>5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
|6<br />
|<nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
|<nowiki>4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
|7<br />
|<nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
|<nowiki>5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
|8<br />
|<nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
|<nowiki>cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
|9<br />
|<nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
|<nowiki>65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
|10<br />
|<nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
|<nowiki>46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
|11<br />
|<nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
|<nowiki>d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[2] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte PGN<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki></nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>abc</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 2'''<br />
Op basis van bovenstaande stampseudoniemen worden de volgende ECK IDs gemaakt, voor het PO.<br />
<br />
{| class="wikitable"<br />
|+Tabel 4<br />
! #<br />
! Stampseudoniem<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 3'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8022SID:Kwalificatie-tech2018-01-25T15:46:20Z<p>Fleischeuers01: /* Ophalen ECK ID test (service: retrieveEckId) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki>6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! #<br />
! Gehashte invoer<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/6a1728ea5306c49a8d765d9ca6a40f6befe8baeed11e7d7160fab96582b30a33b554497eb990fe6118727761da29833f10363cb87487c04466e3d1c1510ebd90</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/feec0b7cdc92c6efae9ca1359e30fb79a00ea22eab3dbc6e0ee8ef1a0701e1067fb7d5962f7c3f18547571db5bd1717d72836cb7b75fd2edfd30fc7fdc0baaa8</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/e9e4ae5c65fc45036e8cb65ff6d80695a3496343c5b50dba47df6c0d58d5cb989b242aff432bb2dadf55bee26a385189bdd65dd6d5c4db53db30505b81a7ddeb</nowiki><br />
|}<br />
<br />
== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ==<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
<nowiki><br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
</nowiki><br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
|1<br />
|<nowiki>urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>86c801fbef7ca63a2e25a9cf2c5f76e6e8fb26e3befbcb9877d8180f6126d71d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8e06aec8c1b9dac15fc943031d8f3b3c15c3829751ac952fd5de9451682a552e309fef31a34269800c4fda43145567b0d4ae3d64e5f34b59116130cda3b22a40</nowiki><br />
|- <br />
|2<br />
|<nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
|3<br />
|<nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
|4<br />
|<nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
|5<br />
|<nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
|<nowiki>5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
|6<br />
|<nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
|<nowiki>4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
|7<br />
|<nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
|<nowiki>5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
|8<br />
|<nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
|<nowiki>cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
|9<br />
|<nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
|<nowiki>65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
|10<br />
|<nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
|<nowiki>46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
|11<br />
|<nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
|<nowiki>d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[2] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte PGN<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki></nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>abc</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 2'''<br />
Op basis van bovenstaande stampseudoniemen worden de volgende ECK IDs gemaakt, voor het PO.<br />
<br />
{| class="wikitable"<br />
|+Tabel 4<br />
! #<br />
! Stampseudoniem<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 3'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8021SID:Kwalificatie-tech2018-01-25T15:45:36Z<p>Fleischeuers01: /* Ophalen ECK ID test (service: retrieveEckId) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki>6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! #<br />
! Gehashte invoer<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/6a1728ea5306c49a8d765d9ca6a40f6befe8baeed11e7d7160fab96582b30a33b554497eb990fe6118727761da29833f10363cb87487c04466e3d1c1510ebd90</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
Eerste hashing<br />
.|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/feec0b7cdc92c6efae9ca1359e30fb79a00ea22eab3dbc6e0ee8ef1a0701e1067fb7d5962f7c3f18547571db5bd1717d72836cb7b75fd2edfd30fc7fdc0baaa8</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/e9e4ae5c65fc45036e8cb65ff6d80695a3496343c5b50dba47df6c0d58d5cb989b242aff432bb2dadf55bee26a385189bdd65dd6d5c4db53db30505b81a7ddeb</nowiki><br />
|}<br />
<br />
<br />
== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ==<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
<nowiki><br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
</nowiki><br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
|1<br />
|<nowiki>urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>86c801fbef7ca63a2e25a9cf2c5f76e6e8fb26e3befbcb9877d8180f6126d71d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8e06aec8c1b9dac15fc943031d8f3b3c15c3829751ac952fd5de9451682a552e309fef31a34269800c4fda43145567b0d4ae3d64e5f34b59116130cda3b22a40</nowiki><br />
|- <br />
|2<br />
|<nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
|3<br />
|<nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
|4<br />
|<nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
|<nowiki>5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
|5<br />
|<nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
|<nowiki>5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
|6<br />
|<nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
|<nowiki>4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
|7<br />
|<nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
|<nowiki>5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
|8<br />
|<nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
|<nowiki>cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
|9<br />
|<nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
|<nowiki>65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
|10<br />
|<nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
|<nowiki>46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
|11<br />
|<nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
|<nowiki>d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[2] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte PGN<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki></nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>abc</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 2'''<br />
Op basis van bovenstaande stampseudoniemen worden de volgende ECK IDs gemaakt, voor het PO.<br />
<br />
{| class="wikitable"<br />
|+Tabel 4<br />
! #<br />
! Stampseudoniem<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 3'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8020SID:Kwalificatie-tech2018-01-25T15:40:20Z<p>Fleischeuers01: /* Ophalen Stampseudoniem test (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! #<br />
! Invoer<br />
! Gehashte invoer<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki>6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| <nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| <nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| <nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| <nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| <nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| <nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| <nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| <nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[2] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte PGN<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki></nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>abc</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 2'''<br />
Op basis van bovenstaande stampseudoniemen worden de volgende ECK IDs gemaakt, voor het PO.<br />
<br />
{| class="wikitable"<br />
|+Tabel 4<br />
! #<br />
! Stampseudoniem<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 3'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8019SID:Kwalificatie-tech2018-01-25T15:35:49Z<p>Fleischeuers01: /* Batch test (service: submitEckIdBatch, retrieveEckIdBatch) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| <nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| <nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| <nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| <nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| <nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| <nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| <nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| <nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[2] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! #<br />
! Invoer<br />
! Gehashte PGN<br />
! Stampseudoniem<br />
|- <br />
|0<br />
|<nowiki>139227672</nowiki><br />
|<nowiki>66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
|1<br />
|<nowiki>170612673</nowiki><br />
|<nowiki>11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
|2<br />
|<nowiki>220500186</nowiki><br />
|<nowiki></nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>307702522</nowiki><br />
|<nowiki>8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
|4<br />
|<nowiki>479694217</nowiki><br />
|<nowiki>a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
|5<br />
|<nowiki>543997911</nowiki><br />
|<nowiki>8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
|6<br />
|<nowiki>586613675</nowiki><br />
|<nowiki>a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
|7<br />
|<nowiki>644153258</nowiki><br />
|<nowiki>2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
|8<br />
|<nowiki>666614192</nowiki><br />
|<nowiki>f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
|9<br />
|<nowiki>702289905</nowiki><br />
|<nowiki>abc</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>854868604</nowiki><br />
|<nowiki>45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee</nowiki><br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
|11<br />
|<nowiki>992795862</nowiki><br />
|<nowiki>6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 2'''<br />
Op basis van bovenstaande stampseudoniemen worden de volgende ECK IDs gemaakt, voor het PO.<br />
<br />
{| class="wikitable"<br />
|+Tabel 4<br />
! #<br />
! Stampseudoniem<br />
! ECK ID<br />
|- <br />
|0<br />
|<nowiki>https://ketenid.nl/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/8156116f110e2637ec5eba35ddba8342bdb873ca87be0012574a976dee898373cd69dae2afc51d3bfb5b6207029ef8412765b11e71c4b70f6edb5881fbb77293</nowiki><br />
|- <br />
|1<br />
|<nowiki>https://ketenid.nl/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/caf844187d521343b7221c4aafb5354ac8f90628eaa32a868045075ea3f85daff011e90fc8b497ecc35e27e1ac969c07fcd67599a9ea4ef398b0d07992825676</nowiki><br />
|- <br />
|2<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|3<br />
|<nowiki>https://ketenid.nl/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c8a217819844066484308b23512c311514fbcaa7a46c7caa985536ee049a605998ec54e55b8d03317b5a4efbbc1a9087723064a5b1a39408d9702ed7b618fd88</nowiki><br />
|- <br />
|4<br />
|<nowiki>https://ketenid.nl/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/a6d24d7a2ffd7e20b7345b88d8d9214a0ceef4cdff5528a3bac66cde1650897d47abfa72bc573360e1d17df279fa4200b7921099f4d3906f0b541892a70be728</nowiki><br />
|- <br />
|5<br />
|<nowiki>https://ketenid.nl/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/0cc0455f6a20fb6ecbf18b8debe1b2f1f178ce622aceccf944b8eeca541334146dffe0e486063193840153ed90120a4797ab508896be55a6b18311afa53614f3</nowiki><br />
|- <br />
|6<br />
|<nowiki>https://ketenid.nl/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/7b6872d83d604b7d2030d0e2260cbe926aa627268dc99a3be0d5d51620fc352117e11b0381fb35f74623a336b4809e9bf2411d94720ca728130f4b1ac27f1d6b</nowiki><br />
|- <br />
|7<br />
|<nowiki>https://ketenid.nl/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/32fb5751ccdf8059b7b1edda59d7ffd4a6b06f2f076ef438030cf86a4f279676dc661d30b6ec5cba6f39465f3ee2ad85f1b9cbbfd9a7ae81fd132bd3233974d9</nowiki><br />
|- <br />
|8<br />
|<nowiki>https://ketenid.nl/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/c68e8017979e9c13fec4826de4b4fbc7a5b54fc069bc114c0817154b571ce2347e84d1a767aff76eca557c86edec628c5cacb51b7fcf492366d95022bd791dc1</nowiki><br />
|- <br />
|9<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|10<br />
|<nowiki>https://ketenid.nl/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|<nowiki>https://ketenid.nl/pilot/b2b5201f936e14ed9988e47bda971ac5ca8a02cb4d58080ca5c86f79941c8a4ac8b8ff9bb2294af8690054a9b7ded542777f4c3bb8351415eba6a7f917535fc3</nowiki><br />
|- <br />
|11<br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|<nowiki>Genereren niet succesvol</nowiki><br />
|}<br />
<br />
<br />
'''Batch 3'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8018SID:Kwalificatie-tech2018-01-25T12:35:17Z<p>Fleischeuers01: /* Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| <nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a88103d-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| <nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| <nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| <nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| <nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| <nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| <nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| <nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[7] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
! Uitkomst<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| <br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| abc<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|}<br />
<br />
'''Batch 2'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8016SID:Kwalificatie-tech2018-01-25T09:19:28Z<p>Fleischeuers01: /* Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| <nowiki>urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| <nowiki>urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a</nowiki><br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| <nowiki>urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a</nowiki><br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| <nowiki>urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee</nowiki><br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| <nowiki>urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51</nowiki><br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| <nowiki>urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed</nowiki><br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| <nowiki>urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1</nowiki><br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| <nowiki>urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47</nowiki><br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| <nowiki>urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e</nowiki><br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[7] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
! Uitkomst<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| <br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| abc<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|}<br />
<br />
'''Batch 2'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8015SID:Kwalificatie-tech2018-01-25T09:17:40Z<p>Fleischeuers01: /* Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| '''urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a'''<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[7] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
! Uitkomst<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| <br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| abc<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|}<br />
<br />
'''Batch 2'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8014SID:Kwalificatie-tech2018-01-25T08:14:24Z<p>Fleischeuers01: /* Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[7] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
! Uitkomst<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| <br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| abc<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|}<br />
<br />
'''Batch 2'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=8013SID:Kwalificatie-tech2018-01-25T08:13:27Z<p>Fleischeuers01: </p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! Stampseudoniem<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[7] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
! Uitkomst<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| <br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| abc<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|}<br />
<br />
'''Batch 2'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Pseudoniemen_en_waarden&diff=7747SID:Pseudoniemen en waarden2017-11-28T08:51:30Z<p>Fleischeuers01: </p>
<hr />
<div>=Pseudoniemen=<br />
<br />
De Nummervoorziening kent twee pseudoniemen, het ECK ID en het stampseudoniem. Van beiden is er een productie-versie en een versie die gebruikt wordt in de pilot fase, voor testen. Voorbeelden van elke soort:<br />
* '''Stampseudoniem, pilot:''' <code><nowiki>https://id.school/sppilot/42ff1c5cbf0c8f8498d8eb49db8baf3d44ae472217d89430566295e5b38f00b0b450dac6dcd3ee8d5231343d1dadd19aa653ee11ef69daeda5e5ec207130f918<br />
</nowiki></code><br />
* '''Stampseudoniem, productie:''' <code><nowiki>https://id.school/sppilot/1234567890cb60564010944497e36196a8b2f8551b4ad33758094f0aadb01c3f79f76daceeaa56bdbbb4dc5bf109ff5111e1a9900bdaea76ebe45c1234567890<br />
</nowiki></code><br />
* '''ECK ID, pilot:''' <code><nowiki>https://id.school/pilot/7909d9bc114e9c90dd5c3e9559c0cf6bf1671efec7215277fbff508588d3b9473a4596c8ac802edb76e0682e9a7e8058faafbab3c45c2b7a90c64ccc2a515226<br />
</nowiki></code><br />
* '''ECK ID, productie:''' <code><nowiki>https://id.school/201703/12345678905b828c70e86318b3b6cabd5d4ac0064817a8390d5081010d33a07738f70d218692481c41c9a9c888796fbc449b1b04b325a2d6f491e81234567890<br />
</nowiki></code><br />
<br />
Deze pseudoniemen worden gemaakt op basis van hashes van een PGN (leerling) of een GUID (docenten). Voorbeelden van deze hashes zijn<br />
* <code>b579b71d9184e10f9702a038dde71ebab7962fb9330fc0f7e0d3ef6336ca69c9</code><br />
* <code>b1939116ed7ad5a7de9c19e7b74f4fc9d37fc39aafdf91bc7176ffb43fb607a3</code><br />
<br />
=Vaste waarden=<br />
Voor het genereren van ECK ID wordt gebruik gemaakt van een identifier van de ECK keten en van de onderwijssector. Deze waarden zijn statisch.<br />
* '''ECK Keten:''' <code><nowiki>http://purl.edustandaard.nl/begrippenkader/e7ec7d3c-c235-4513-bfb6-e54e66854795</nowiki></code><br />
* '''PO Sector:''' <code><nowiki>http://purl.edustandaard.nl/begrippenkader/512e4729-03a4-43a2-95ba-758071d1b725</nowiki></code><br />
* '''VO Sector:''' <code><nowiki>http://purl.edustandaard.nl/begrippenkader/2a1401e9-c223-493b-9b86-78f6993b1a8d</nowiki></code><br />
* '''MBO sector:''' <code><nowiki>http://purl.edustandaard.nl/begrippenkader/f3ac3fbb-5eae-49e0-8494-0a44855fff25</nowiki></code><br />
<br />
[[Category:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Pseudoniemen_en_waarden&diff=7746SID:Pseudoniemen en waarden2017-11-28T08:48:02Z<p>Fleischeuers01: /* Vaste waarden */</p>
<hr />
<div>=Pseudoniemen=<br />
<br />
De Nummervoorziening kent twee pseudoniemen, het ECK ID en het stampseudoniem. Van beiden is er een productie-versie en een versie die gebruikt wordt in de pilot fase, voor testen. Voorbeelden van elke soort:<br />
* '''Stampseudoniem, pilot:''' <nowiki>https://id.school/sppilot/42ff1c5cbf0c8f8498d8eb49db8baf3d44ae472217d89430566295e5b38f00b0b450dac6dcd3ee8d5231343d1dadd19aa653ee11ef69daeda5e5ec207130f918<br />
</nowiki><br />
* '''Stampseudoniem, productie:''' <nowiki>https://id.school/sppilot/1234567890cb60564010944497e36196a8b2f8551b4ad33758094f0aadb01c3f79f76daceeaa56bdbbb4dc5bf109ff5111e1a9900bdaea76ebe45c1234567890<br />
</nowiki><br />
* '''ECK ID, pilot:''' <nowiki>https://id.school/pilot/7909d9bc114e9c90dd5c3e9559c0cf6bf1671efec7215277fbff508588d3b9473a4596c8ac802edb76e0682e9a7e8058faafbab3c45c2b7a90c64ccc2a515226<br />
</nowiki><br />
* '''ECK ID, productie:''' <nowiki>https://id.school/201703/12345678905b828c70e86318b3b6cabd5d4ac0064817a8390d5081010d33a07738f70d218692481c41c9a9c888796fbc449b1b04b325a2d6f491e81234567890<br />
</nowiki><br />
<br />
Deze pseudoniemen worden gemaakt op basis van hashes van een PGN (leerling) of een GUID (docenten). Voorbeelden van deze hashes zijn<br />
* b579b71d9184e10f9702a038dde71ebab7962fb9330fc0f7e0d3ef6336ca69c9<br />
* b1939116ed7ad5a7de9c19e7b74f4fc9d37fc39aafdf91bc7176ffb43fb607a3<br />
<br />
=Vaste waarden=<br />
Voor het genereren van ECK ID wordt gebruik gemaakt van een identifier van de ECK keten en van de onderwijssector. Deze waarden zijn statisch.<br />
* '''ECK Keten:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/e7ec7d3c-c235-4513-bfb6-e54e66854795</nowiki><br />
* '''PO Sector:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/512e4729-03a4-43a2-95ba-758071d1b725</nowiki> <br />
* '''VO Sector:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/2a1401e9-c223-493b-9b86-78f6993b1a8d</nowiki><br />
* '''MBO sector:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/f3ac3fbb-5eae-49e0-8494-0a44855fff25</nowiki><br />
<br />
[[Category:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Pseudoniemen_en_waarden&diff=7745SID:Pseudoniemen en waarden2017-11-28T08:47:46Z<p>Fleischeuers01: Nieuwe pagina aangemaakt met '=Pseudoniemen= De Nummervoorziening kent twee pseudoniemen, het ECK ID en het stampseudoniem. Van beiden is er een productie-versie en een versie die gebruikt word...'</p>
<hr />
<div>=Pseudoniemen=<br />
<br />
De Nummervoorziening kent twee pseudoniemen, het ECK ID en het stampseudoniem. Van beiden is er een productie-versie en een versie die gebruikt wordt in de pilot fase, voor testen. Voorbeelden van elke soort:<br />
* '''Stampseudoniem, pilot:''' <nowiki>https://id.school/sppilot/42ff1c5cbf0c8f8498d8eb49db8baf3d44ae472217d89430566295e5b38f00b0b450dac6dcd3ee8d5231343d1dadd19aa653ee11ef69daeda5e5ec207130f918<br />
</nowiki><br />
* '''Stampseudoniem, productie:''' <nowiki>https://id.school/sppilot/1234567890cb60564010944497e36196a8b2f8551b4ad33758094f0aadb01c3f79f76daceeaa56bdbbb4dc5bf109ff5111e1a9900bdaea76ebe45c1234567890<br />
</nowiki><br />
* '''ECK ID, pilot:''' <nowiki>https://id.school/pilot/7909d9bc114e9c90dd5c3e9559c0cf6bf1671efec7215277fbff508588d3b9473a4596c8ac802edb76e0682e9a7e8058faafbab3c45c2b7a90c64ccc2a515226<br />
</nowiki><br />
* '''ECK ID, productie:''' <nowiki>https://id.school/201703/12345678905b828c70e86318b3b6cabd5d4ac0064817a8390d5081010d33a07738f70d218692481c41c9a9c888796fbc449b1b04b325a2d6f491e81234567890<br />
</nowiki><br />
<br />
Deze pseudoniemen worden gemaakt op basis van hashes van een PGN (leerling) of een GUID (docenten). Voorbeelden van deze hashes zijn<br />
* b579b71d9184e10f9702a038dde71ebab7962fb9330fc0f7e0d3ef6336ca69c9<br />
* b1939116ed7ad5a7de9c19e7b74f4fc9d37fc39aafdf91bc7176ffb43fb607a3<br />
<br />
=Vaste waarden=<br />
Voor het genereren van ECK ID wordt gebruik gemaakt van een identifier van de ECK keten en van de onderwijssector. Deze waarden zijn statisch.<br />
* '''ECK Keten:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/e7ec7d3c-c235-4513-bfb6-e54e66854795</nowiki><br />
* '''PO Sector:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/512e4729-03a4-43a2-95ba-758071d1b725</nowiki> <br />
* '''VO Sector:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/2a1401e9-c223-493b-9b86-78f6993b1a8d</nowiki><br />
* '''MBO sector:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/f3ac3fbb-5eae-49e0-8494-0a44855fff25</nowiki><br />
<br />
[[Category:SID]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Pseudoniemenenwaarden&diff=7744SID:Pseudoniemenenwaarden2017-11-28T08:46:35Z<p>Fleischeuers01: Nieuwe pagina aangemaakt met '=Pseudoniemen= De Nummervoorziening kent twee pseudoniemen, het ECK ID en het stampseudoniem. Van beiden is er een productie-versie en een versie die gebruikt word...'</p>
<hr />
<div>=Pseudoniemen=<br />
<br />
De Nummervoorziening kent twee pseudoniemen, het ECK ID en het stampseudoniem. Van beiden is er een productie-versie en een versie die gebruikt wordt in de pilot fase, voor testen. Voorbeelden van elke soort:<br />
* '''Stampseudoniem, pilot:''' <nowiki>https://id.school/sppilot/42ff1c5cbf0c8f8498d8eb49db8baf3d44ae472217d89430566295e5b38f00b0b450dac6dcd3ee8d5231343d1dadd19aa653ee11ef69daeda5e5ec207130f918<br />
</nowiki><br />
* '''Stampseudoniem, productie:''' <nowiki>https://id.school/sppilot/1234567890cb60564010944497e36196a8b2f8551b4ad33758094f0aadb01c3f79f76daceeaa56bdbbb4dc5bf109ff5111e1a9900bdaea76ebe45c1234567890<br />
</nowiki><br />
* '''ECK ID, pilot:''' <nowiki>https://id.school/pilot/7909d9bc114e9c90dd5c3e9559c0cf6bf1671efec7215277fbff508588d3b9473a4596c8ac802edb76e0682e9a7e8058faafbab3c45c2b7a90c64ccc2a515226<br />
</nowiki><br />
* '''ECK ID, productie:''' <nowiki>https://id.school/201703/12345678905b828c70e86318b3b6cabd5d4ac0064817a8390d5081010d33a07738f70d218692481c41c9a9c888796fbc449b1b04b325a2d6f491e81234567890<br />
</nowiki><br />
<br />
Deze pseudoniemen worden gemaakt op basis van hashes van een PGN (leerling) of een GUID (docenten). Voorbeelden van deze hashes zijn<br />
* b579b71d9184e10f9702a038dde71ebab7962fb9330fc0f7e0d3ef6336ca69c9<br />
* b1939116ed7ad5a7de9c19e7b74f4fc9d37fc39aafdf91bc7176ffb43fb607a3<br />
<br />
=Vaste waarden=<br />
Voor het genereren van ECK ID wordt gebruik gemaakt van een identifier van de ECK keten en van de onderwijssector. Deze waarden zijn statisch.<br />
* '''ECK Keten:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/e7ec7d3c-c235-4513-bfb6-e54e66854795</nowiki><br />
* '''PO Sector:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/512e4729-03a4-43a2-95ba-758071d1b725</nowiki> <br />
* '''VO Sector:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/2a1401e9-c223-493b-9b86-78f6993b1a8d</nowiki><br />
* '''MBO sector:''' <nowiki>http://purl.edustandaard.nl/begrippenkader/f3ac3fbb-5eae-49e0-8494-0a44855fff25</nowiki></div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Servicebeschrijvingen&diff=7722SID:Servicebeschrijvingen2017-10-26T10:04:56Z<p>Fleischeuers01: /* Retrieving chains and sectors */</p>
<hr />
<div>= Services =<br />
<br />
== Create Stem Pseudonym ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveStempseudonym<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to obtain a stem pseudonym for, for instance, a just enrolled student. This function is called during the process of enrollment, and its availability is business critical.<br />
|-<br />
| INPUT<br />
|<br />
* hpgn: HPgn, oblig, hashed PGN;<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system, identified by its OIN in the SerialNumber field of the Certificate, is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from SOAP header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* hashed PGN: format validations (InvalidHPgnException on failure)<br />
|-<br />
| OPERATION<br />
| The service derives a stem pseudonym from the input. The derivation of a valid stem pseudonym is performed by a component that is specified in software configuration.<br />
|-<br />
| OUTPUT<br />
| stempseudonym: The generated stem pseudonym<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
|-<br />
| REMARKS<br />
|<br />
*<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleRetrieveStempseudonym|Sample request and response]]<br />
|}<br />
<br />
== Create ECK ID ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveEckId<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to obtain a ECK ID for, for instance, a just enrolled student. This function is called during the process of enrollment, and its availability is business critical.<br />
|-<br />
| INPUT<br />
|<br />
* Stempseudonym: Stem pseudonym, obtained with ‘retrieveStempseudonym’<br />
* chainID: xsd:string, oblig, Identifier for ECK chain<br />
* sectorID: xsd:string, oblig, Identifier for educational sector<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system, identified by its OIN in the SerialNumber field of the Certificate, is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from SOAP header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* Stem pseudonym, SectorID, ChainID: format validations (Format Exception specific for argument on failure, e.g. InvalidStemPseudonymException, InvalidChainIdException and InvalidSectorIdException).<br />
* SectorID is one of the IDs of educational sectors (InvalidSectorIdException on failure).<br />
* ChainID is one of the IDs in chains (InvalidChainIdException on failure)<br />
* Hashed PGN is not in substitutionList.old (BlockedHPgnException on failure)<br />
|-<br />
| OPERATION<br />
|<br />
The service combines the three inputs and from the result derives a valid ECK ID. The derivation of a valid ECK ID is performed by a component that is specified in software configuration.<br />
<br />
If the provided stem pseudonymis in substitutionList.new and sectorID is equal to the substitutionlist.sectorID and today is later than substitutiontable.effectivedate, the previous stem pseudonym is used to derive the ECK ID from.<br />
|-<br />
| OUTPUT<br />
| eckID: EckID, The derived ECK ID<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidSectorIdException InvalidChainIdException InvalidHPgnException<br />
* BlockedStempseudonymException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
|-<br />
| REMARKS<br />
|<br />
* chainID, sectorID are in the form of OBK URN’s. Retrieve these values using the retrieveChains, retrieveSectors operations respectively.<br />
* eckID is in the form of a URL: <nowiki>https://id.school/201703/[128-char]</nowiki> hex string.<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleRetrieveECKID|Sample request and response]]<br />
|}<br />
<br />
== Substitute PGN for Stem pseudonym ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! replaceStempseudonym<br />
|-<br />
| CONTEXT<br />
| This service is called when a school administration needs to indicate that a student is assigned a new PGN by the authorities. A change of PGN number is handled as follows: <br />
# The old and the new stem hashed PGN are recorded in the database.<br />
# Subsequent requests for the old hashed PGN are rejected.<br />
# For requests with the new stem hashed PGN, the old hashed PGN is used to derive the stem pseudonym from. <br />
See also service description Create stempseudonym. <br />
|-<br />
| INPUT<br />
|<br />
* hPGNOld, hPGNNew: oblig, resp. previous hashed PGN and new hashed PGN<br />
* effectiveDate: Date and time that the change should take effect. Date <b>in full gregorian calendar format</b>, like "2017-01-01T11:26:30.806+01:00". Optional, 'now' if not given. <br />
<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* Format validations on input arguments (format Exception specific for argument on failure).<br />
* Old hPGN is not already in the substitution table (old and new) (BlockedPGNException otherwise)<br />
* New hPGN is not already in the substitution table (old and new) (BlockedPGNException otherwise)<br />
* Old and new hPGN are different (substitutionOperationException otherwise)<br />
* Effective date: if given, is valid and in the future (xml parse error in case of invalid date format)<br />
|-<br />
| OPERATION<br />
| Old hPGN, new hPGN are recorded in the substitution table, and a stem pseudonym for the new hPGN is derived using function ‘Create stem pseudonym’.<br />
|-<br />
| OUTPUT<br />
| stem pseudonym: The stem pseudonym for the new hpgn<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidhPGNException with information on which stem pseudonym is invalid, and why<br />
* SubstitutionOperationException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
|-<br />
| REMARKS<br />
|<br />
* Stem pseudonym is in the form of a URL: <nowiki>https://id.school/201703/[128-char hex string]</nowiki>. <br />
|-<br />
| SAMPLE<br />
| [[SID:SampleReplaceStempseudonym|Sample request and response]]<br />
|}<br />
<br />
== Batch creation of stem pseudonyms ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! submitStempseudonymBatch<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to submit a list of stem pseudonyms, for a single Sector and a single Chain. The system processes the list and makes a corresponding list of stem pseudonyms available for retrieval (see retrieveEckBatch).<br />
|-<br />
| INPUT<br />
|<br />
* stempseudonymList: a list of 1..20.000<ref>The size of the array is comfigured in software. Actual limit may differ.</ref><br />
** int: xsd:int, oblig, sequence number<br />
** hPgn: HPgn hashed PGNs<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCaller Exception on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* The system validates the size of the input (TemporaryBannedException if too many hPgns are submitted)<br />
* All indexes are unique (DuplicateIndexBatchListException otherwise)<br />
|-<br />
| OPERATION<br />
| The service creates a stem pseudonym for each hashed PGN in the input list and adds it to the list of generated stem pseudonyms for output. If the list does not contain a hashed PGN or if the hashed PGN was previously indicated as changed, no stem pseudnym will be created and a message to indicate the nature of the failure will be added to the list of failed items for output.<br />
|-<br />
| OUTPUT<br />
|<br />
* batchIdentifier: xsd:string, identifier of the batch request. This identifier can be used to obtain the result, using retrieveEckBatch<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidSectorIdException InvalidChainIdException InvalidHPgnException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
* DuplicateIndexBatchListException<br />
|-<br />
| REMARKS<br />
|<br />
The use of this service is limited to prevent abuse:<br />
<br />
* A batch may contain at most 20.000 hashed PGNs<br />
* A batch operation may be submitted at most 3 times per 24 hours<br />
<br />
These limits are configured in the software and can be modified. Schools that exceed these limits are temporarily banned from submitting batch requests. Schools may contact Kennisnet servicedesk for information and for lifting of the bans. Schools may submit multiple batch requests, as long as the limits are observed. Batches are processed in the order in which they occur.<br />
<br />
A batch result is available within one hour after submission of the request. Batch results are removed after successful retrieval. The system may remove batch results that are not retrieved within 24 hours.<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleRetrieveBatchStempseudonym|Sample request and response]]<br />
|}<br />
<br />
== Batch creation of ECK IDs ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! submitEckIdBatch<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to submit a list of stem pseudnyms, for a single Sector and a single Chain. The system processes the list and makes a corresponding list of ECK IDs available for retrieval (see retrieveEckBatch).<br />
|-<br />
| INPUT<br />
|<br />
* stempseudonymList: a list of 1..20.000<ref>The size of the array is comfigured in software. Actual limit may differ.</ref><br />
** int: xsd:int, oblig, sequence number<br />
** stempseudonym: Stem pseudonym<br />
* chainID: xsd:string, oblig, Identifier for ECK chain<br />
* sectorID: xsd:string, oblig, Identifier for educational sector<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCaller Exception on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* The system validates the size of the input (TemporaryBannedException if too many stem pseudonyms are submitted)<br />
* All indexes are unique (DuplicateIndexBatchListException otherwise)<br />
* SectorID is one of the IDs of educational sectors (InvalidSectorIdException on failure).<br />
* ChainID is one of the IDs in chains (InvalidChainIdException on failure)<br />
* Stempseudonyms is not in substitutionList.old (offending stem pseudonym is added to the failed list for output)<br />
|-<br />
| OPERATION<br />
| The service creates a ECK ID for each hashed PGN in the input list and adds it to the list of generated ECK IDs for output. If the list does not contain a hashed PGN or if the hashed PGN was previously indicated as changed, no ECK ID will be created and a message to indicate the nature of the failure will be added to the list of failed PGNs for output. If the provided hashed PGN is in substitutionList.new and sectorID is equal to the substitutionlist.sectorID and today is later than substitutiontable.effectivedate, the previous hashed PGN is used to derive the ECK ID from.<br />
|-<br />
| OUTPUT<br />
|<br />
* batchIdentifier: xsd:string, identifier of the batch request. This identifier can be used to obtain the result, using retrieveEckBatch<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidSectorIdException InvalidChainIdException InvalidHPgnException<br />
* BlockedHPgnException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
* DuplicateIndexBatchListException<br />
|-<br />
| REMARKS<br />
|<br />
The use of this service is limited to prevent abuse:<br />
<br />
* A batch may contain at most 20.000 entries<br />
* A batch operation may be submitted at most 3 times per 24 hours<br />
<br />
These limits are configured in the software and can be modified. Schools that exceed these limits are temporarily banned from submitting batch requests. Schools may contact Kennisnet servicedesk for information and for lifting of the bans. Schools may submit multiple batch requests, as long as the limits are observed. Batches are processed in the order in which they occur.<br />
<br />
A batch result is available within one hour after submission of the request. Batch results are removed after successful retrieval. The system may remove batch results that are not retrieved within 24 hours.<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleBatchECKID|Sample request and response]]<br />
|}<br />
<br />
=Batch results retrieval=<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveBatch<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to retrieve the status and result of a batch request.<br />
|-<br />
| INPUT<br />
|<br />
* batchIdentifier: xsd:string, oblig, the batch identifier obtained in the response from a batch submission (see submitEckIdBatch)<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* The system validates the frequency of calls (SchoolTemporaryBlockedException or BatchTemporaryBlockedException if there are too many calls registered)<br />
* The batch result can be retrieved at most once; ContentAlreadyRetrievedException is returned if the batch was retrieved earlier<br />
* If the batch indicated by the input is purged, already retrieved, or not ready yet, a NotFinishedException is returned<br />
|-<br />
| OPERATION<br />
| The service retrieves the batch result (either StempseudonymBatch or EckIdBatch), if available, and returns it to the caller. If an error during check or processing occurs, the error is returned.<br />
|-<br />
| OUTPUT<br />
|<br />
* Success: an optional list of 1..20000<ref>Limit is set in in software configuration; actual values may differ</ref>:<br />
** Index: int, the sequence number of the corresponding entry from the input<br />
** EckId: EckId, the ECK ID of the entry indicated by the sequence number from the input<br />
* Failed: an optional list of 1..20000<ref>Idem</ref>:<br />
** Index: int, the sequence number of the corresponding entry from the input<br />
** errorMessage: string, indication of the error that occurred when computing the ECK ID<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidSectorIdException<br />
* InvalidChainIdException<br />
* InvalidHPgnException<br />
* BlockedHPgnException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
* SchoolTemporaryBlockedException, BatchTemporaryBlockedException<br />
* ContentAlreadyRetrievedException<br />
* NotFinishedException<br />
*<br />
|-<br />
| REMARKS<br />
|<br />
The use of this service is limited to prevent abuse: a batch retrieval may be attempted at most once per 15 minutes (software configurable; actual limit may differ). In case this limit is exceeded, the offending school is temporarily banned from using this service. Schools may contact Kennisnet servicedesk for more information and to lift the ban.<br />
<br />
A batch result is available within one hour after submission of the request. Batch results are removed after successful retrieval. Batch results that are not retrieved can be removed after 24 hours.<br />
<br />
In the output of this function, both success and failure are optional arrays. If none of the input fail, the response will contain only ‘success’ values. If none of the input succeed, the response will contain only ‘failure’.<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleRetrieveBatch|Sample request and response]]<br />
|}<br />
<br />
== Retrieving chains and sectors ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveChains<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to obtain the value of the ECK chain ID, for which an ECK ID can be derived. As this list changes rarely, this service will not be called often, probably not more than once per day per LAS.<br />
|-<br />
| INPUT<br />
| none<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
|-<br />
| OPERATION<br />
| The service retrieves the list of active Chain Parties<br />
|-<br />
| OUTPUT<br />
|<br />
List of 1 or more :<br />
<br />
* Id: xsd:string, Identifier of chain that can be used to create ECK IDs for this chain<br />
* Name: xsd:string, unique and short name for this chain<br />
* Description: xsd:string, human-readable description for this chain<br />
* lastEdited: xsd:date, last time this entry was modified<br />
|-<br />
| EXCEPTIONS<br />
| NotAllowedCallerException<br />
|-<br />
| REMARKS<br />
|<br />
* Currently, only one chain is available in the system, the ECK chain. It’s value is http://purl.edustandaard.nl/begrippenkader/e7ec7d3c-c235-4513-bfb6-e54e66854795<br />
|}<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveSectors<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to obtain the list of school types for which an ECK ID can be derived. As this list changes rarely, this service will not be called often, probably not more than once per day per LAS.<br />
|-<br />
| INPUT<br />
| none<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
|-<br />
| OPERATION<br />
| Retrieve the list of active SectorIDs from the database.<br />
|-<br />
| OUTPUT<br />
|<br />
List of 1 or more :<br />
<br />
* Id: xsd:string, Identifier of sector that can be used to create ECK IDs for this sector<br />
* Name: xsd:string, unique and short name for this sector<br />
* Description: xsd:string, human-readable description for this sector<br />
* lastEdited: xsd:date, last time this entry was modified<br />
|-<br />
| EXCEPTIONS<br />
| NotAllowedCallerException<br />
|-<br />
| REMARKS<br />
|<br />
* Currently, thee educational sectors are available in the system:<br />
** Primair onderwijs: http://purl.edustandaard.nl/begrippenkader/512e4729-03a4-43a2-95ba-758071d1b725<br />
** VO: http://purl.edustandaard.nl/begrippenkader/2a1401e9-c223-493b-9b86-78f6993b1a8d<br />
** MBO: http://purl.edustandaard.nl/begrippenkader/f3ac3fbb-5eae-49e0-8494-0a44855fff25<br />
<br />
The names, descriptions and values are taken from OBK.<br />
|}<br />
<br />
== Ping operation ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! pingRequest<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to verify the service is alive.<br />
|-<br />
| INPUT<br />
| none<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
|-<br />
| OPERATION<br />
| Verify the database is available for operation<br />
|-<br />
| OUTPUT<br />
|<br />
* Available: Boolean, the system is available (true) or not (false)<br />
* applicationVersion: string, identifier for the implementation version<br />
* systemTime: xsd:dateTime, timestamp of the current system time<br />
|-<br />
| EXCEPTIONS<br />
| NotAllowedCallerException<br />
|-<br />
| REMARKS<br />
|<br />
*<br />
|}<br />
<br />
= Common types =<br />
<br />
{| class="wikitable"<br />
! Name<br />
! HPgn<br />
|-<br />
| Fields<br />
| xsd:string<br />
|-<br />
| Constraints<br />
|<br />
* Consists of 64 hex characters ([0-9][A-Z][[a-z]){64}<br />
|-<br />
| Remarks<br />
| Contains the result of the prescribed hash function SCrypt<br />
|}<br />
<br />
{| class="wikitable"<br />
! Name<br />
! EckId<br />
|-<br />
| Fields<br />
| xsd:string<br />
|-<br />
| Constraints<br />
|<br />
* Is not empty<br />
|-<br />
| Remarks<br />
|<br />
<br />
|}<br />
<br />
= Exceptions =<br />
Exceptions will be presented by the Nummervoorziening Service as Soap faults. To distinguish the cause Exception of an operation at the client, the element faultactor will hold the specific Exception. In the detail node, a message node is added with additional information regarding the Exception.<br />
<br />
Example of a Soap fault as a response from the Nummervoorziening Service (omitting the Soap Headers):<br />
<br />
<syntaxhighlight lang="xml"><br />
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><br />
<soap:Body> <br />
<soap:Fault> <br />
<faultcode>soap:SERVER</faultcode> <br />
<faultstring>RetrieveEckIdBatch has thrown an exception while building the response</faultstring> <br />
<faultactor>InvalidBatchIdentifierException</faultactor> <br />
<detail> <br />
<message>Batch with specified identifier does not exist</message> <br />
</detail> <br />
</soap:Fault> <br />
</soap:Body> <br />
</soap:Envelope><br />
</syntaxhighlight><br />
<br />
<br />
The reference clients will contain code in Java and C# to handle these faults and distinguish root causes.<br />
<br />
<references /><br />
<br />
[[Category:Nummervoorziening]]<br />
[[Category:Interface]]<br />
[[Category:Software]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Servicebeschrijvingen&diff=7721SID:Servicebeschrijvingen2017-10-26T10:02:34Z<p>Fleischeuers01: /* Change Stem pseudonym (subsitution) */</p>
<hr />
<div>= Services =<br />
<br />
== Create Stem Pseudonym ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveStempseudonym<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to obtain a stem pseudonym for, for instance, a just enrolled student. This function is called during the process of enrollment, and its availability is business critical.<br />
|-<br />
| INPUT<br />
|<br />
* hpgn: HPgn, oblig, hashed PGN;<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system, identified by its OIN in the SerialNumber field of the Certificate, is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from SOAP header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* hashed PGN: format validations (InvalidHPgnException on failure)<br />
|-<br />
| OPERATION<br />
| The service derives a stem pseudonym from the input. The derivation of a valid stem pseudonym is performed by a component that is specified in software configuration.<br />
|-<br />
| OUTPUT<br />
| stempseudonym: The generated stem pseudonym<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
|-<br />
| REMARKS<br />
|<br />
*<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleRetrieveStempseudonym|Sample request and response]]<br />
|}<br />
<br />
== Create ECK ID ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveEckId<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to obtain a ECK ID for, for instance, a just enrolled student. This function is called during the process of enrollment, and its availability is business critical.<br />
|-<br />
| INPUT<br />
|<br />
* Stempseudonym: Stem pseudonym, obtained with ‘retrieveStempseudonym’<br />
* chainID: xsd:string, oblig, Identifier for ECK chain<br />
* sectorID: xsd:string, oblig, Identifier for educational sector<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system, identified by its OIN in the SerialNumber field of the Certificate, is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from SOAP header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* Stem pseudonym, SectorID, ChainID: format validations (Format Exception specific for argument on failure, e.g. InvalidStemPseudonymException, InvalidChainIdException and InvalidSectorIdException).<br />
* SectorID is one of the IDs of educational sectors (InvalidSectorIdException on failure).<br />
* ChainID is one of the IDs in chains (InvalidChainIdException on failure)<br />
* Hashed PGN is not in substitutionList.old (BlockedHPgnException on failure)<br />
|-<br />
| OPERATION<br />
|<br />
The service combines the three inputs and from the result derives a valid ECK ID. The derivation of a valid ECK ID is performed by a component that is specified in software configuration.<br />
<br />
If the provided stem pseudonymis in substitutionList.new and sectorID is equal to the substitutionlist.sectorID and today is later than substitutiontable.effectivedate, the previous stem pseudonym is used to derive the ECK ID from.<br />
|-<br />
| OUTPUT<br />
| eckID: EckID, The derived ECK ID<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidSectorIdException InvalidChainIdException InvalidHPgnException<br />
* BlockedStempseudonymException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
|-<br />
| REMARKS<br />
|<br />
* chainID, sectorID are in the form of OBK URN’s. Retrieve these values using the retrieveChains, retrieveSectors operations respectively.<br />
* eckID is in the form of a URL: <nowiki>https://id.school/201703/[128-char]</nowiki> hex string.<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleRetrieveECKID|Sample request and response]]<br />
|}<br />
<br />
== Substitute PGN for Stem pseudonym ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! replaceStempseudonym<br />
|-<br />
| CONTEXT<br />
| This service is called when a school administration needs to indicate that a student is assigned a new PGN by the authorities. A change of PGN number is handled as follows: <br />
# The old and the new stem hashed PGN are recorded in the database.<br />
# Subsequent requests for the old hashed PGN are rejected.<br />
# For requests with the new stem hashed PGN, the old hashed PGN is used to derive the stem pseudonym from. <br />
See also service description Create stempseudonym. <br />
|-<br />
| INPUT<br />
|<br />
* hPGNOld, hPGNNew: oblig, resp. previous hashed PGN and new hashed PGN<br />
* effectiveDate: Date and time that the change should take effect. Date <b>in full gregorian calendar format</b>, like "2017-01-01T11:26:30.806+01:00". Optional, 'now' if not given. <br />
<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* Format validations on input arguments (format Exception specific for argument on failure).<br />
* Old hPGN is not already in the substitution table (old and new) (BlockedPGNException otherwise)<br />
* New hPGN is not already in the substitution table (old and new) (BlockedPGNException otherwise)<br />
* Old and new hPGN are different (substitutionOperationException otherwise)<br />
* Effective date: if given, is valid and in the future (xml parse error in case of invalid date format)<br />
|-<br />
| OPERATION<br />
| Old hPGN, new hPGN are recorded in the substitution table, and a stem pseudonym for the new hPGN is derived using function ‘Create stem pseudonym’.<br />
|-<br />
| OUTPUT<br />
| stem pseudonym: The stem pseudonym for the new hpgn<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidhPGNException with information on which stem pseudonym is invalid, and why<br />
* SubstitutionOperationException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
|-<br />
| REMARKS<br />
|<br />
* Stem pseudonym is in the form of a URL: <nowiki>https://id.school/201703/[128-char hex string]</nowiki>. <br />
|-<br />
| SAMPLE<br />
| [[SID:SampleReplaceStempseudonym|Sample request and response]]<br />
|}<br />
<br />
== Batch creation of stem pseudonyms ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! submitStempseudonymBatch<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to submit a list of stem pseudonyms, for a single Sector and a single Chain. The system processes the list and makes a corresponding list of stem pseudonyms available for retrieval (see retrieveEckBatch).<br />
|-<br />
| INPUT<br />
|<br />
* stempseudonymList: a list of 1..20.000<ref>The size of the array is comfigured in software. Actual limit may differ.</ref><br />
** int: xsd:int, oblig, sequence number<br />
** hPgn: HPgn hashed PGNs<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCaller Exception on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* The system validates the size of the input (TemporaryBannedException if too many hPgns are submitted)<br />
* All indexes are unique (DuplicateIndexBatchListException otherwise)<br />
|-<br />
| OPERATION<br />
| The service creates a stem pseudonym for each hashed PGN in the input list and adds it to the list of generated stem pseudonyms for output. If the list does not contain a hashed PGN or if the hashed PGN was previously indicated as changed, no stem pseudnym will be created and a message to indicate the nature of the failure will be added to the list of failed items for output.<br />
|-<br />
| OUTPUT<br />
|<br />
* batchIdentifier: xsd:string, identifier of the batch request. This identifier can be used to obtain the result, using retrieveEckBatch<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidSectorIdException InvalidChainIdException InvalidHPgnException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
* DuplicateIndexBatchListException<br />
|-<br />
| REMARKS<br />
|<br />
The use of this service is limited to prevent abuse:<br />
<br />
* A batch may contain at most 20.000 hashed PGNs<br />
* A batch operation may be submitted at most 3 times per 24 hours<br />
<br />
These limits are configured in the software and can be modified. Schools that exceed these limits are temporarily banned from submitting batch requests. Schools may contact Kennisnet servicedesk for information and for lifting of the bans. Schools may submit multiple batch requests, as long as the limits are observed. Batches are processed in the order in which they occur.<br />
<br />
A batch result is available within one hour after submission of the request. Batch results are removed after successful retrieval. The system may remove batch results that are not retrieved within 24 hours.<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleRetrieveBatchStempseudonym|Sample request and response]]<br />
|}<br />
<br />
== Batch creation of ECK IDs ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! submitEckIdBatch<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to submit a list of stem pseudnyms, for a single Sector and a single Chain. The system processes the list and makes a corresponding list of ECK IDs available for retrieval (see retrieveEckBatch).<br />
|-<br />
| INPUT<br />
|<br />
* stempseudonymList: a list of 1..20.000<ref>The size of the array is comfigured in software. Actual limit may differ.</ref><br />
** int: xsd:int, oblig, sequence number<br />
** stempseudonym: Stem pseudonym<br />
* chainID: xsd:string, oblig, Identifier for ECK chain<br />
* sectorID: xsd:string, oblig, Identifier for educational sector<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCaller Exception on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* The system validates the size of the input (TemporaryBannedException if too many stem pseudonyms are submitted)<br />
* All indexes are unique (DuplicateIndexBatchListException otherwise)<br />
* SectorID is one of the IDs of educational sectors (InvalidSectorIdException on failure).<br />
* ChainID is one of the IDs in chains (InvalidChainIdException on failure)<br />
* Stempseudonyms is not in substitutionList.old (offending stem pseudonym is added to the failed list for output)<br />
|-<br />
| OPERATION<br />
| The service creates a ECK ID for each hashed PGN in the input list and adds it to the list of generated ECK IDs for output. If the list does not contain a hashed PGN or if the hashed PGN was previously indicated as changed, no ECK ID will be created and a message to indicate the nature of the failure will be added to the list of failed PGNs for output. If the provided hashed PGN is in substitutionList.new and sectorID is equal to the substitutionlist.sectorID and today is later than substitutiontable.effectivedate, the previous hashed PGN is used to derive the ECK ID from.<br />
|-<br />
| OUTPUT<br />
|<br />
* batchIdentifier: xsd:string, identifier of the batch request. This identifier can be used to obtain the result, using retrieveEckBatch<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidSectorIdException InvalidChainIdException InvalidHPgnException<br />
* BlockedHPgnException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
* DuplicateIndexBatchListException<br />
|-<br />
| REMARKS<br />
|<br />
The use of this service is limited to prevent abuse:<br />
<br />
* A batch may contain at most 20.000 entries<br />
* A batch operation may be submitted at most 3 times per 24 hours<br />
<br />
These limits are configured in the software and can be modified. Schools that exceed these limits are temporarily banned from submitting batch requests. Schools may contact Kennisnet servicedesk for information and for lifting of the bans. Schools may submit multiple batch requests, as long as the limits are observed. Batches are processed in the order in which they occur.<br />
<br />
A batch result is available within one hour after submission of the request. Batch results are removed after successful retrieval. The system may remove batch results that are not retrieved within 24 hours.<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleBatchECKID|Sample request and response]]<br />
|}<br />
<br />
=Batch results retrieval=<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveBatch<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to retrieve the status and result of a batch request.<br />
|-<br />
| INPUT<br />
|<br />
* batchIdentifier: xsd:string, oblig, the batch identifier obtained in the response from a batch submission (see submitEckIdBatch)<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
* The system validates the frequency of calls (SchoolTemporaryBlockedException or BatchTemporaryBlockedException if there are too many calls registered)<br />
* The batch result can be retrieved at most once; ContentAlreadyRetrievedException is returned if the batch was retrieved earlier<br />
* If the batch indicated by the input is purged, already retrieved, or not ready yet, a NotFinishedException is returned<br />
|-<br />
| OPERATION<br />
| The service retrieves the batch result (either StempseudonymBatch or EckIdBatch), if available, and returns it to the caller. If an error during check or processing occurs, the error is returned.<br />
|-<br />
| OUTPUT<br />
|<br />
* Success: an optional list of 1..20000<ref>Limit is set in in software configuration; actual values may differ</ref>:<br />
** Index: int, the sequence number of the corresponding entry from the input<br />
** EckId: EckId, the ECK ID of the entry indicated by the sequence number from the input<br />
* Failed: an optional list of 1..20000<ref>Idem</ref>:<br />
** Index: int, the sequence number of the corresponding entry from the input<br />
** errorMessage: string, indication of the error that occurred when computing the ECK ID<br />
|-<br />
| EXCEPTIONS<br />
|<br />
* InvalidSectorIdException<br />
* InvalidChainIdException<br />
* InvalidHPgnException<br />
* BlockedHPgnException<br />
* NotAllowedCallerException<br />
* HashOperationException (indicates server configuration error)<br />
* SchoolTemporaryBlockedException, BatchTemporaryBlockedException<br />
* ContentAlreadyRetrievedException<br />
* NotFinishedException<br />
*<br />
|-<br />
| REMARKS<br />
|<br />
The use of this service is limited to prevent abuse: a batch retrieval may be attempted at most once per 15 minutes (software configurable; actual limit may differ). In case this limit is exceeded, the offending school is temporarily banned from using this service. Schools may contact Kennisnet servicedesk for more information and to lift the ban.<br />
<br />
A batch result is available within one hour after submission of the request. Batch results are removed after successful retrieval. Batch results that are not retrieved can be removed after 24 hours.<br />
<br />
In the output of this function, both success and failure are optional arrays. If none of the input fail, the response will contain only ‘success’ values. If none of the input succeed, the response will contain only ‘failure’.<br />
|-<br />
| SAMPLE<br />
| [[SID:SampleRetrieveBatch|Sample request and response]]<br />
|}<br />
<br />
== Retrieving chains and sectors ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveChains<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to obtain the list of chain parties for which an ECK ID can be derived. As this list changes rarely, this service will not be called often, probably not more than once per day per LAS.<br />
|-<br />
| INPUT<br />
| none<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
|-<br />
| OPERATION<br />
| The service retrieves the list of active Chain Parties<br />
|-<br />
| OUTPUT<br />
|<br />
List of 1 or more :<br />
<br />
* Id: xsd:string, Identifier of chain that can be used to create ECK IDs for this chain<br />
* Name: xsd:string, unique and short name for this chain<br />
* Description: xsd:string, human-readable description for this chain<br />
* lastEdited: xsd:date, last time this entry was modified<br />
|-<br />
| EXCEPTIONS<br />
| NotAllowedCallerException<br />
|-<br />
| REMARKS<br />
|<br />
* Currently, only one chain is available in the system, the ECK chain. It’s value is http://purl.edustandaard.nl/begrippenkader/e7ec7d3c-c235-4513-bfb6-e54e66854795<br />
|}<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! retrieveSectors<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to obtain the list of school types for which an ECK ID can be derived. As this list changes rarely, this service will not be called often, probably not more than once per day per LAS.<br />
|-<br />
| INPUT<br />
| none<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
|-<br />
| OPERATION<br />
| Retrieve the list of active SectorIDs from the database.<br />
|-<br />
| OUTPUT<br />
|<br />
List of 1 or more :<br />
<br />
* Id: xsd:string, Identifier of sector that can be used to create ECK IDs for this sector<br />
* Name: xsd:string, unique and short name for this sector<br />
* Description: xsd:string, human-readable description for this sector<br />
* lastEdited: xsd:date, last time this entry was modified<br />
|-<br />
| EXCEPTIONS<br />
| NotAllowedCallerException<br />
|-<br />
| REMARKS<br />
|<br />
* Currently, thee educational sectors are available in the system:<br />
** Primair onderwijs: http://purl.edustandaard.nl/begrippenkader/512e4729-03a4-43a2-95ba-758071d1b725<br />
** VO: http://purl.edustandaard.nl/begrippenkader/2a1401e9-c223-493b-9b86-78f6993b1a8d<br />
** MBO: http://purl.edustandaard.nl/begrippenkader/f3ac3fbb-5eae-49e0-8494-0a44855fff25<br />
<br />
The names, descriptions and values are taken from OBK.<br />
|}<br />
<br />
== Ping operation ==<br />
<br />
{|class="wikitable"<br />
! SERVICE DESCRIPTION<br />
! pingRequest<br />
|-<br />
| CONTEXT<br />
| This service is called by allowed LAS systems to verify the service is alive.<br />
|-<br />
| INPUT<br />
| none<br />
|-<br />
| VALIDATIONS<br />
|<br />
* The calling system identified by its OIN in the Certificate is checked against the list of allowed callers (NotAllowedCallerException on failure)<br />
* The calling school is identified from the OIN in the wsa:from header. If the school is not in the list of allowed schools, a NotAllowedCallerException will be thrown<br />
|-<br />
| OPERATION<br />
| Verify the database is available for operation<br />
|-<br />
| OUTPUT<br />
|<br />
* Available: Boolean, the system is available (true) or not (false)<br />
* applicationVersion: string, identifier for the implementation version<br />
* systemTime: xsd:dateTime, timestamp of the current system time<br />
|-<br />
| EXCEPTIONS<br />
| NotAllowedCallerException<br />
|-<br />
| REMARKS<br />
|<br />
*<br />
|}<br />
<br />
= Common types =<br />
<br />
{| class="wikitable"<br />
! Name<br />
! HPgn<br />
|-<br />
| Fields<br />
| xsd:string<br />
|-<br />
| Constraints<br />
|<br />
* Consists of 64 hex characters ([0-9][A-Z][[a-z]){64}<br />
|-<br />
| Remarks<br />
| Contains the result of the prescribed hash function SCrypt<br />
|}<br />
<br />
{| class="wikitable"<br />
! Name<br />
! EckId<br />
|-<br />
| Fields<br />
| xsd:string<br />
|-<br />
| Constraints<br />
|<br />
* Is not empty<br />
|-<br />
| Remarks<br />
|<br />
<br />
|}<br />
<br />
= Exceptions =<br />
Exceptions will be presented by the Nummervoorziening Service as Soap faults. To distinguish the cause Exception of an operation at the client, the element faultactor will hold the specific Exception. In the detail node, a message node is added with additional information regarding the Exception.<br />
<br />
Example of a Soap fault as a response from the Nummervoorziening Service (omitting the Soap Headers):<br />
<br />
<syntaxhighlight lang="xml"><br />
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><br />
<soap:Body> <br />
<soap:Fault> <br />
<faultcode>soap:SERVER</faultcode> <br />
<faultstring>RetrieveEckIdBatch has thrown an exception while building the response</faultstring> <br />
<faultactor>InvalidBatchIdentifierException</faultactor> <br />
<detail> <br />
<message>Batch with specified identifier does not exist</message> <br />
</detail> <br />
</soap:Fault> <br />
</soap:Body> <br />
</soap:Envelope><br />
</syntaxhighlight><br />
<br />
<br />
The reference clients will contain code in Java and C# to handle these faults and distinguish root causes.<br />
<br />
<references /><br />
<br />
[[Category:Nummervoorziening]]<br />
[[Category:Interface]]<br />
[[Category:Software]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Documentatiepakket&diff=7720SID:Documentatiepakket2017-10-26T10:00:13Z<p>Fleischeuers01: </p>
<hr />
<div>[[SID:Servicebeschrijvingen|Servicebeschrijvingen]] van de services van de Nummervoorzieningen.<br />
<br />
De complete set aan documentatie van de Nummervoorziening is in ontwikkeling. De laatste versies van de documenten kunt u hieronder vinden.<br />
<br />
* Verwerken van het ECK ID<br />
** [[Media:Principes en processen ECK ID.pdf|Principes en processen verwerken ECK ID (PDF)]]<br />
** [[Media:Voorschriften verwerken ECK ID.pdf|Voorschriften verwerken ECK ID (PDF)]]<br />
<br />
* Aansluiten op de Nummervoorziening<br />
** [[Media:Principes en processen Nummervoorziening.pdf|Principes en processen aansluiten op de Nummervoorziening (PDF)]]<br />
** [[Media:Voorschriften aansluiten Nummervoorziening.pdf|Voorschriften aansluiten Nummervoorziening (PDF)]]<br />
** [[Media:Servicebeschrijvingen.pdf|Servicebeschrijvingen (PDF)]]<br />
<br />
{{Info|<br />
Verkorte versiehistorie:<br><br />
* 26 oktober 2017: Documentenset gepsplitst in ECK ID, Nummervoorziening<br />
* 2 juni 2017: Voorbeeldberichten toegevoegd in service beschrijvingen<br />
* 4 april 2017: Nieuwe versie Servicebeschrijvingen: Wijziging in substitutie service<br />
* 21 maart 2017: Het Tactisch overleg is akkoord met de gewijzigde documenten. Deze documenten zijn nu beschikbaar via onderstaande links.<br/><br />
* 15 maart 2017: Aangepaste technische voorschriften n.a.v. KAT overleg - BETA <br/><br />
* 23 januari 2017: Aanpassingen vanwege gewijzigd wetsvoorstel - BETA <br/><br />
* 21 december 2016: Technische voorschriften aangepast naar aanleiding van commentaar <br/><br />
* 12 juli 2016: Versie 1.0 vastgesteld <br/> <br />
}}<br />
<br />
[[Category:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Documentatiepakket&diff=7719SID:Documentatiepakket2017-10-26T09:56:52Z<p>Fleischeuers01: </p>
<hr />
<div>[[SID:Servicebeschrijvingen|Servicebeschrijvingen]] van de services van de Nummervoorzieningen.<br />
<br />
De complete set aan documentatie van de Nummervoorziening is in ontwikkeling. De laatste versies van de documenten kunt u hieronder vinden.<br />
<br />
{{Info|<br />
* 26 oktober 2017: Documentenset gepsplitst in ECK ID, Nummervoorziening<br />
* 2 juni 2017: Voorbeeldberichten toegevoegd in service beschrijvingen<br />
* 4 april 2017: Nieuwe versie Servicebeschrijvingen: Wijziging in substitutie service<br />
* 21 maart 2017: Het Tactisch overleg is akkoord met de gewijzigde documenten. Deze documenten zijn nu beschikbaar via onderstaande links.<br/><br />
* 15 maart 2017: Aangepaste technische voorschriften n.a.v. KAT overleg - BETA <br/><br />
* 23 januari 2017: Aanpassingen vanwege gewijzigd wetsvoorstel - BETA <br/><br />
* 21 december 2016: Technische voorschriften aangepast naar aanleiding van commentaar <br/><br />
* 12 juli 2016: Versie 1.0 vastgesteld <br/> <br />
}}<br />
<br />
* [[Media:Principes en processen v1.0.9.pdf|Principes en processen]]<br />
* Servicebeschrijvingen: [[Media:Servicebeschrijvingen v1.0.11.pdf|PDF versie]] | [[SID:Servicebeschrijvingen|wiki pagina]] <br />
* [[Media:Technische voorschriften v1.0.10.pdf|Technische voorschriften]]<br />
<br />
<br />
[[Category:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Hoofdpagina&diff=7718SID:Hoofdpagina2017-10-26T09:54:38Z<p>Fleischeuers01: /* Documenten */</p>
<hr />
<div>__NOTOC__<br />
De Nummervoorziening zorgt ervoor dat betekenisloze identificatienummers uitgewisseld kunnen worden binnen de onderwijsketen, zonder dat er persoonsgegevens van leerlingen gedeeld worden tussen partijen in de leermiddelenketen. Het nummer is een pseudoniem, dit wil zeggen dat er geen persoonskenmerken uit dit nummer zijn af te leiden. <br />
<br />
==Status==<br />
De Nummervoorziening is aangepast op basis van de voorgenomen wijziging in de wettekst, en maakt nu gebruik van stampseudoniemen om ketenpseudoniemen te genereren. De nieuwe versie is beschikbaar in de acceptatie-, sandbox-, kwalificatie- en productieomgevingen.<br/><br />
<br />
De dienst gaat live na acceptatie van het wetsvoorstel ''Wet pseudonimisering persoonsgebonden nummer t.b.v. geven onderwijs en begeleiding onderwijsdeelnemers''. De verwachting is dat de wet in januari 2018 van kracht wordt. Zie hiervoor ook [https://www.nummervoorziening.nl/implementatie/wettelijkkader/ de website van de Nummervoorziening].<br />
<br />
{| cellspacing="10" cellpadding="5" border="0" width="90%"<br />
|- valign="top"<br />
| style="width:60%" |<br />
<br />
== Leverancier ==<br />
* [[SID:Aansluitproces_Leveranciers|Aansluitproces voor leveranciers]]<br />
** [[SID:Leveranciers proberen|Stap 1: proberen]]<br />
** [[SID:Leveranciers kwalificeren|Stap 2: kwalificeren]]<br />
** [[SID:Leveranciers produceren|Stap 3: produceren]]<br />
<!-- <br />
* [[SID:Aansluitproces_Leveranciers|Ik ben een '''leverancier''' van LAS of SIS oplossingen die ik als SaaS oplossing lever en ik wil dat de scholen die mijn systeem gebruiken ECK IDs kunnen aanvragen voor hun leerlingen.]]<br />
* [[SID:Aansluitproces_Leveranciers|Ik ben een '''leverancier''' van LAS of SIS oplossingen die scholen 'on premise' installeren en ik wil dat scholen die mijn systeem gebruiken ECK IDs kunnen aanvragen voor hun leerlingen.]] <br />
--><br />
<br />
== Schoolbestuur ==<br />
* [[SID:Aansluitproces_schoolbestuur|Ik ben een '''schoolbestuur''' en ik wil dat alle scholen onder mijn bestuur ECK IDs kunnen aanvragen.]]<br />
<br />
== School ==<br />
* Ik wil als '''school''' ECK ID's aanvragen voor mijn leerlingen:<br />
** [[SID:Aansluitproces_saas|Ik neem een LAS of een SIS af als een dienst van een aanbieder]]<br />
** [[SID:Aansluitproces_Onpremise|Ik heb zelf een LAS of een SIS ingericht]]<br />
<br />
| style="width:40%" |<br />
<br />
== Hotlinks ==<br />
* [[SID:Documentatiepakket|Documentatie van de Nummervoorziening]]<br />
* [[SID:wsdl|De wsdl]]<br />
* [[SID:Referentie implementatie .Net|Referentie implementatie in .Net]]<br />
* [[SID:Referentie implementatie Java|Referentie implementatie in Java]]<br />
* [[SID:Kwalificatie-tech|Technische test]]<br />
<br />
== Documenten ==<br />
* [[Media:Principes en processen ECK ID.pdf|Principes en processen verwerken ECK ID (PDF)]]<br />
* [[Media:Voorschriften verwerken ECK ID.pdf|Voorschriften verwerken ECK ID (PDF)]]<br />
* [[Media:Principes en processen Nummervoorziening.pdf|Principes en processen aansluiten op de Nummervoorziening (PDF)]]<br />
* [[Media:Voorschriften aansluiten Nummervoorziening.pdf|Voorschriften aansluiten Nummervoorziening (PDF)]]<br />
* [[Media:Servicebeschrijvingen.pdf|Servicebeschrijvingen (PDF)]]<br />
<br />
== Communicatie ==<br />
<!-- {{ComItem|Edu-K|Nummervoorziening op Edu-K|http://www.edu-k.nl/nummervoorziening}} Overzicht van het project en de bestuurlijke context door Edu-K --><br />
{{ComItem|Edu-K|Nummervoorziening.nl|https://nummervoorziening.nl/}}Meer achtergrond en informatie over de nummervoorziening<br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=Bestand:Servicebeschrijvingen.pdf&diff=7717Bestand:Servicebeschrijvingen.pdf2017-10-26T09:53:56Z<p>Fleischeuers01: Marc.fleischeuers heeft een nieuwe versie van Bestand:Servicebeschrijvingen.pdf geüpload</p>
<hr />
<div><br />
[[Categorie:Nummervoorziening]]<br />
[[Category:Bestanden Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=Bestand:Voorschriften_aansluiten_Nummervoorziening.pdf&diff=7716Bestand:Voorschriften aansluiten Nummervoorziening.pdf2017-10-26T09:53:14Z<p>Fleischeuers01: </p>
<hr />
<div></div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=Bestand:Principes_en_processen_Nummervoorziening.pdf&diff=7715Bestand:Principes en processen Nummervoorziening.pdf2017-10-26T09:52:49Z<p>Fleischeuers01: </p>
<hr />
<div></div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Hoofdpagina&diff=7714SID:Hoofdpagina2017-10-26T09:52:35Z<p>Fleischeuers01: /* Documenten */</p>
<hr />
<div>__NOTOC__<br />
De Nummervoorziening zorgt ervoor dat betekenisloze identificatienummers uitgewisseld kunnen worden binnen de onderwijsketen, zonder dat er persoonsgegevens van leerlingen gedeeld worden tussen partijen in de leermiddelenketen. Het nummer is een pseudoniem, dit wil zeggen dat er geen persoonskenmerken uit dit nummer zijn af te leiden. <br />
<br />
==Status==<br />
De Nummervoorziening is aangepast op basis van de voorgenomen wijziging in de wettekst, en maakt nu gebruik van stampseudoniemen om ketenpseudoniemen te genereren. De nieuwe versie is beschikbaar in de acceptatie-, sandbox-, kwalificatie- en productieomgevingen.<br/><br />
<br />
De dienst gaat live na acceptatie van het wetsvoorstel ''Wet pseudonimisering persoonsgebonden nummer t.b.v. geven onderwijs en begeleiding onderwijsdeelnemers''. De verwachting is dat de wet in januari 2018 van kracht wordt. Zie hiervoor ook [https://www.nummervoorziening.nl/implementatie/wettelijkkader/ de website van de Nummervoorziening].<br />
<br />
{| cellspacing="10" cellpadding="5" border="0" width="90%"<br />
|- valign="top"<br />
| style="width:60%" |<br />
<br />
== Leverancier ==<br />
* [[SID:Aansluitproces_Leveranciers|Aansluitproces voor leveranciers]]<br />
** [[SID:Leveranciers proberen|Stap 1: proberen]]<br />
** [[SID:Leveranciers kwalificeren|Stap 2: kwalificeren]]<br />
** [[SID:Leveranciers produceren|Stap 3: produceren]]<br />
<!-- <br />
* [[SID:Aansluitproces_Leveranciers|Ik ben een '''leverancier''' van LAS of SIS oplossingen die ik als SaaS oplossing lever en ik wil dat de scholen die mijn systeem gebruiken ECK IDs kunnen aanvragen voor hun leerlingen.]]<br />
* [[SID:Aansluitproces_Leveranciers|Ik ben een '''leverancier''' van LAS of SIS oplossingen die scholen 'on premise' installeren en ik wil dat scholen die mijn systeem gebruiken ECK IDs kunnen aanvragen voor hun leerlingen.]] <br />
--><br />
<br />
== Schoolbestuur ==<br />
* [[SID:Aansluitproces_schoolbestuur|Ik ben een '''schoolbestuur''' en ik wil dat alle scholen onder mijn bestuur ECK IDs kunnen aanvragen.]]<br />
<br />
== School ==<br />
* Ik wil als '''school''' ECK ID's aanvragen voor mijn leerlingen:<br />
** [[SID:Aansluitproces_saas|Ik neem een LAS of een SIS af als een dienst van een aanbieder]]<br />
** [[SID:Aansluitproces_Onpremise|Ik heb zelf een LAS of een SIS ingericht]]<br />
<br />
| style="width:40%" |<br />
<br />
== Hotlinks ==<br />
* [[SID:Documentatiepakket|Documentatie van de Nummervoorziening]]<br />
* [[SID:wsdl|De wsdl]]<br />
* [[SID:Referentie implementatie .Net|Referentie implementatie in .Net]]<br />
* [[SID:Referentie implementatie Java|Referentie implementatie in Java]]<br />
* [[SID:Kwalificatie-tech|Technische test]]<br />
<br />
== Documenten ==<br />
* [[Media:Principes en processen ECK ID.pdf|Principes en processen verwerken ECK ID (PDF)]]<br />
* [[Media:Voorschriften verwerken ECK ID.pdf|Voorschriften verwerken ECK ID (PDF)]]<br />
* [[Media:Principes en processen Nummervoorziening.pdf|Principes en processen aansluiten op de Nummervoorziening (PDF)]]<br />
* [[Media:Voorschriften aansluiten Nummervoorziening.pdf|Voorschriften aansluiten Nummervoorziening (PDF)]]<br />
* [[Media:Servicebeschrijvingen|Servicebeschrijvingen (PDF)]]<br />
<br />
== Communicatie ==<br />
<!-- {{ComItem|Edu-K|Nummervoorziening op Edu-K|http://www.edu-k.nl/nummervoorziening}} Overzicht van het project en de bestuurlijke context door Edu-K --><br />
{{ComItem|Edu-K|Nummervoorziening.nl|https://nummervoorziening.nl/}}Meer achtergrond en informatie over de nummervoorziening<br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=Bestand:Voorschriften_verwerken_ECK_ID.pdf&diff=7713Bestand:Voorschriften verwerken ECK ID.pdf2017-10-26T09:52:09Z<p>Fleischeuers01: </p>
<hr />
<div></div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=Bestand:Principes_en_processen_ECK_ID.pdf&diff=7712Bestand:Principes en processen ECK ID.pdf2017-10-26T09:51:46Z<p>Fleischeuers01: </p>
<hr />
<div></div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Hoofdpagina&diff=7711SID:Hoofdpagina2017-10-26T09:51:06Z<p>Fleischeuers01: /* Documenten */</p>
<hr />
<div>__NOTOC__<br />
De Nummervoorziening zorgt ervoor dat betekenisloze identificatienummers uitgewisseld kunnen worden binnen de onderwijsketen, zonder dat er persoonsgegevens van leerlingen gedeeld worden tussen partijen in de leermiddelenketen. Het nummer is een pseudoniem, dit wil zeggen dat er geen persoonskenmerken uit dit nummer zijn af te leiden. <br />
<br />
==Status==<br />
De Nummervoorziening is aangepast op basis van de voorgenomen wijziging in de wettekst, en maakt nu gebruik van stampseudoniemen om ketenpseudoniemen te genereren. De nieuwe versie is beschikbaar in de acceptatie-, sandbox-, kwalificatie- en productieomgevingen.<br/><br />
<br />
De dienst gaat live na acceptatie van het wetsvoorstel ''Wet pseudonimisering persoonsgebonden nummer t.b.v. geven onderwijs en begeleiding onderwijsdeelnemers''. De verwachting is dat de wet in januari 2018 van kracht wordt. Zie hiervoor ook [https://www.nummervoorziening.nl/implementatie/wettelijkkader/ de website van de Nummervoorziening].<br />
<br />
{| cellspacing="10" cellpadding="5" border="0" width="90%"<br />
|- valign="top"<br />
| style="width:60%" |<br />
<br />
== Leverancier ==<br />
* [[SID:Aansluitproces_Leveranciers|Aansluitproces voor leveranciers]]<br />
** [[SID:Leveranciers proberen|Stap 1: proberen]]<br />
** [[SID:Leveranciers kwalificeren|Stap 2: kwalificeren]]<br />
** [[SID:Leveranciers produceren|Stap 3: produceren]]<br />
<!-- <br />
* [[SID:Aansluitproces_Leveranciers|Ik ben een '''leverancier''' van LAS of SIS oplossingen die ik als SaaS oplossing lever en ik wil dat de scholen die mijn systeem gebruiken ECK IDs kunnen aanvragen voor hun leerlingen.]]<br />
* [[SID:Aansluitproces_Leveranciers|Ik ben een '''leverancier''' van LAS of SIS oplossingen die scholen 'on premise' installeren en ik wil dat scholen die mijn systeem gebruiken ECK IDs kunnen aanvragen voor hun leerlingen.]] <br />
--><br />
<br />
== Schoolbestuur ==<br />
* [[SID:Aansluitproces_schoolbestuur|Ik ben een '''schoolbestuur''' en ik wil dat alle scholen onder mijn bestuur ECK IDs kunnen aanvragen.]]<br />
<br />
== School ==<br />
* Ik wil als '''school''' ECK ID's aanvragen voor mijn leerlingen:<br />
** [[SID:Aansluitproces_saas|Ik neem een LAS of een SIS af als een dienst van een aanbieder]]<br />
** [[SID:Aansluitproces_Onpremise|Ik heb zelf een LAS of een SIS ingericht]]<br />
<br />
| style="width:40%" |<br />
<br />
== Hotlinks ==<br />
* [[SID:Documentatiepakket|Documentatie van de Nummervoorziening]]<br />
* [[SID:wsdl|De wsdl]]<br />
* [[SID:Referentie implementatie .Net|Referentie implementatie in .Net]]<br />
* [[SID:Referentie implementatie Java|Referentie implementatie in Java]]<br />
* [[SID:Kwalificatie-tech|Technische test]]<br />
<br />
== Documenten ==<br />
* [[Media:Principes en processen ECK ID.pdf|Principes en processen verwerken ECK ID (PDF)]]<br />
* [[Media:Voorschriften verwerken ECK ID.pdf|Voorschriften verwerken ECK ID (PDF)]]<br />
* [[Media:Principes en processen Nummervoorziening.pdf|Principes en processen verwerken aansluiten op de Nummervoorziening (PDF)]]<br />
* [[Media:Voorschriften aansluiten Nummervoorziening.pdf|Voorschriften aansluiten Nummervoorziening (PDF)]]<br />
* [[Media:Servicebeschrijvingen|Servicebeschrijvingen (PDF)]]<br />
<br />
== Communicatie ==<br />
<!-- {{ComItem|Edu-K|Nummervoorziening op Edu-K|http://www.edu-k.nl/nummervoorziening}} Overzicht van het project en de bestuurlijke context door Edu-K --><br />
{{ComItem|Edu-K|Nummervoorziening.nl|https://nummervoorziening.nl/}}Meer achtergrond en informatie over de nummervoorziening<br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7645SID:Kwalificatie-tech2017-09-11T07:03:51Z<p>Fleischeuers01: /* Substitutie test (service: replaceEckId) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Deze test gaat na of substituties goed worden afgehandeld. Er worden geen voorbeelden van PGN's genoemd want deze worden geblokkeerd na het eerste gebruik (tenzij de substitutie wordt verwijderd in de beheerapplicatie). Neem zelf vijf PGNs (of GUIDs voor docenten) en doe de test daarmee.<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de eerste twee PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.<p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor oud PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Neem de de andere drie PGNs, noem het eerste PGN "oud PGN" en het tweede PGN "nieuw PGN", het derde "ander PGN"</p></li><br />
<li><p>Haal een stampseudoniem op voor oud PGN. Onthoud het stampseudoniem als "oud stampseudoniem".</p></li><br />
<li><p>Haal een stampseudoniem op voor nieuw PGN. Onthoud het stampseudoniem als "nieuw stampseudoniem".</p></li><br />
<li><p>Roep de substitutieservice aan om oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om ander PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het oud PGN te vervangen door nieuw PGN.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[7] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
! Uitkomst<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| <br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| abc<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|}<br />
<br />
'''Batch 2'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7644SID:Kwalificatie-tech2017-09-11T06:50:11Z<p>Fleischeuers01: /* Batch test (service: submitEckIdBatch, retrieveEckIdBatch) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een stampseudoniem op voor PGN 154341101. Onthoud het stampseudoniem als ‘oud stampseudoniem’.</p></li><br />
<li><p>Haal een stampseudoniem op voor PGN 167617345. Onthoud het stampseudoniem als ‘nieuw stampseudoniem’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345.</p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor PGN 154341101.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor PGN 167617345.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een stampseudoniem op voor PGN 942798016. Onthoud het stampseudoniem als ‘oud stampseudoniem’.</p></li><br />
<li><p>Haal een stampseudoniem op voor PGN 952351626. Onthoud het stampseudoniem als ‘nieuw stampseudoniem’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
'''Batch 1'''<br />
Deze test gaat na of het systeem fouten in de resultaten van batches goed kan verwerken.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[7] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
! Uitkomst<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| <br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| abc<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|}<br />
<br />
'''Batch 2'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7643SID:Kwalificatie-tech2017-09-11T06:48:53Z<p>Fleischeuers01: /* Batch test (service: submitEckIdBatch, retrieveEckIdBatch) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een stampseudoniem op voor PGN 154341101. Onthoud het stampseudoniem als ‘oud stampseudoniem’.</p></li><br />
<li><p>Haal een stampseudoniem op voor PGN 167617345. Onthoud het stampseudoniem als ‘nieuw stampseudoniem’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345.</p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor PGN 154341101.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor PGN 167617345.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een stampseudoniem op voor PGN 942798016. Onthoud het stampseudoniem als ‘oud stampseudoniem’.</p></li><br />
<li><p>Haal een stampseudoniem op voor PGN 952351626. Onthoud het stampseudoniem als ‘nieuw stampseudoniem’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.<br />
Pas de gehashte PGNs op de volgende manier aan (zie ook Tabel 3):<br />
* hPGN[7] = ""<br />
* hPGN[9] = "abc"<br />
* hPGN[11] bevat een extra "A" op het einde<br />
<li>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 3 failed elementen bevat, voor met tekst “Genereren niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
NB De melding "Genereren niet succesvol" zal worden vervangen door een meer beschrijvende foutmelding bij de volgende release van de Nummervoorziening.<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
! Uitkomst<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| <br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| abc<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3A<br />
| <nowiki>Genereren niet succesvol</nowiki><br />
|- <br />
|}<br />
<br />
'''Batch 2'''<br />
Deze test gaat na of de afhandeling van fouten wegens het niet honoreren van de batch limieten goed worden afgehandeld.<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minder dan 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 30 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat de resultaten goed worden weergegeven.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7642SID:Kwalificatie-tech2017-09-08T15:05:03Z<p>Fleischeuers01: /* Substitutie test (service: replaceEckId) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een stampseudoniem op voor PGN 154341101. Onthoud het stampseudoniem als ‘oud stampseudoniem’.</p></li><br />
<li><p>Haal een stampseudoniem op voor PGN 167617345. Onthoud het stampseudoniem als ‘nieuw stampseudoniem’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345.</p></li><br />
<li><p>Haal een stampseudoniem opnieuw op voor PGN 154341101.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een stampseudoniem opnieuw op voor PGN 167617345.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde stampseudoniem in het response gelijk is aan ‘oud stampseudoniem’, en ''niet'' aan ‘nieuw stampseudoniem’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een stampseudoniem op voor PGN 942798016. Onthoud het stampseudoniem als ‘oud stampseudoniem’.</p></li><br />
<li><p>Haal een stampseudoniem op voor PGN 952351626. Onthoud het stampseudoniem als ‘nieuw stampseudoniem’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7641SID:Kwalificatie-tech2017-09-08T15:00:21Z<p>Fleischeuers01: /* Requests randgevallen */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
== Requests randgevallen ==<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7640SID:Kwalificatie-tech2017-09-08T14:59:43Z<p>Fleischeuers01: /* Requests randgevallen */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
=== Requests randgevallen ===<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een stampseudoniem op voor een leeg hPGN.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op voor een leeg stampseudoniem. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg stampseudoniem ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op en gebruik een stampseudoniem dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Stampseudoniem is te kort. Een tekenreeks van minimaal 128 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 40'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 40'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7639SID:Kwalificatie-tech2017-09-08T14:55:54Z<p>Fleischeuers01: /* Ophalen Stampseudoniem test (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je gebruik maken van code als String[] PGNs = { "139227672", "170612673", "220500186", "307702522", "479694217", "543997911", <br />
"586613675", "644153258", "666614192", "702289905", "854868604", "992795862"};<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
=== Requests randgevallen ===<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7638SID:Kwalificatie-tech2017-09-08T14:53:35Z<p>Fleischeuers01: /* Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor testcases kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
=== Requests randgevallen ===<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7637SID:Kwalificatie-tech2017-09-08T14:52:58Z<p>Fleischeuers01: /* Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
Voor code kun je misschien gebruik maken van code als <br />
String[] PGNs = { "urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a",<br />
"urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a",<br />
"urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee",<br />
"urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51",<br />
"urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed",<br />
"urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1",<br />
"urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47", <br />
"urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e"};<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
=== Requests randgevallen ===<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7636SID:Kwalificatie-tech2017-09-08T14:45:08Z<p>Fleischeuers01: /* Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
<br />
=== Requests randgevallen ===<br />
<br />
Onderstaande tests gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 36'''<br />
<br />
# Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 36'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 37'''<br />
<br />
# Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 37'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 38'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 38'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 39'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 39'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7635SID:Kwalificatie-tech2017-09-08T14:42:18Z<p>Fleischeuers01: /* Ophalen Stampseudoniem test (service: retrieveStampseudoniem) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 12'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
'''Response 1 - 12'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 2<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
Onderstaande tests 22 - 25 gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 22'''<br />
<br />
# Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 22'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 23'''<br />
<br />
# Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 23'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 24'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 24'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 25'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 25'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7634SID:Kwalificatie-tech2017-09-08T14:41:41Z<p>Fleischeuers01: /* Ophalen ECK ID test (service: retrieveEckId) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 10'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
'''Response 1 - 10'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 13 – 24'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 13 - 24'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 1<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 2<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 3<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 4<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 5<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 6<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 7<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 8<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 9<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 10<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 11<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 12<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
=== Ophalen stampseudoniem voor docenten (service: retrieveStampseudoniem) ===<br />
<br />
'''Request 25 – 36'''<br />
<br />
# Haal voor identifiers uit Tabel 3 het stampseudoniem op. Gebruik een eigen, onafhankelijk request voor elke identifier. <br />
<br />
'''Response 25 – 36'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 2<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| urn:uuid:6a880b8c-94a2-11e7-abc4-cec278b6b50a<br />
| 806c7ac84abb45cd82129247fe14d7450a1318757a3d43259d60be91035e2b02<br />
| <nowiki>https://id.school/sppilot/445d8e87260a10bbfbddd52e056d14fa75d9ac0dcfaf417674a584fbc54c4299d7f618c88e477e5323bf2c60f31ce08479f92a5eff47b441bb4f97fa4f716a6b</nowiki><br />
|- <br />
| urn:uuid:6a88103c-94a2-11e7-abc4-cec278b6b50a<br />
| 006ca63d2cb340ff9b4ad6193befc246ddd0e0a563ed1e19429b5c40969b36d0<br />
| <nowiki>https://id.school/sppilot/7a520b36f6226b15960483b6858459f8f83f385f143f56d7966ef4ff2941d1c069db77094c1ac6955b2ba745d4e857be57c4d971ad66dbf9a52a4eb4fb26bb5f</nowiki><br />
|- <br />
| urn:uuid:6a881168-94a2-11e7-abc4-cec278b6b50a<br />
| a9c5da2003f18d109ce8cf173d44644fc3f8216629c586e69bed8348f58bd2b7<br />
| <nowiki>https://id.school/sppilot/cd4c828576ceedc00895245cbe9967e999916086b484648da16210990b49df34b04c433a0f785cdcac758f3dbdfe1abf773b412b7b925009f75e7c62aaf78959</nowiki><br />
|- <br />
| urn:uuid:6a881244-94a2-11e7-abc4-cec278b6b50a<br />
| 88216fee9c5b8cd09763cdf2ff947826e734a2ddb852dcd46ad7b4164ad8002a<br />
| <nowiki>https://id.school/sppilot/84788718830d6b91a3ce7c067f1cf17587e0eaa6d390b16ac48a29bdc8b1e9a65fd40043d1626e25caed64c98c24af32350a58ac99c9f63eadb67f93ca12d792</nowiki><br />
|- <br />
| urn:uuid:6a881316-94a2-11e7-abc4-cec278b6b50a<br />
| 5ba9340a1264793041aa4e7977f8eed9063b00135ede1fb7371ad9efe0ff6476<br />
| <nowiki>https://id.school/sppilot/5eb33a1a9899b8218d1e87ab5e308f6d14590568221359cee113840fd7c14cac9fb28679e96569167d4fea8702278f203780d1805571180586fd204217e62d64</nowiki><br />
|- <br />
| urn:uuid:d4f3ec1e-acc5-4893-bede-664e6a91957a<br />
| 5e9ec249edf3f08f9c0f25ca92c8d34032a65ec3ae78c28e770fc01a46cddb2d<br />
| <nowiki>https://id.school/sppilot/f7be92176fa7162bb405cc403b887574f937073a60cb81c9099a44f3fb96d4f07176d6a069ea1d6973707aa452dab9a0fe4e41cfa6cab0be75a7d7dd2f550c82</nowiki><br />
|- <br />
| urn:uuid:fc93fef2-9df5-4fc6-a97c-cc4339f2efee<br />
| 4af3daeeac8e23a6f4d17373c52cc5ee2e18bb177f514afeca0b87b43cd0f076<br />
| <nowiki>https://id.school/sppilot/45a27667dabd9b700312e5e64bfe132aff82c348a45ed2438c1a4dfa730e12e3da9386b3ba94fa2ba1359351bde12c7f644fa887698ad8c292e9885678c4e52f</nowiki><br />
|- <br />
| urn:uuid:3296b5c9-4658-40b6-8e37-36a1f7e4eb51<br />
| 5e50a5858c05e8697e9b646d3d7229f56d4636e1bc8d289c4f68e4eaf1156177<br />
| <nowiki>https://id.school/sppilot/a9050000f4e576dc0fd16110f20c101656ea29bec044034138383f6ea9e4375b135d5d1cf262295b71f7c2f8ecbcbd939db1e6c63af5fb43183d834fc6c9ecab</nowiki><br />
|- <br />
| urn:uuid:89bc811b-aca4-46fe-8dd6-07b3fb4a97ed<br />
| cef9164d908c2c09fbf89193cbb6e9061d39d3f856115b4adffe2f2d3383d715<br />
| <nowiki>https://id.school/sppilot/dfc61267607c1343c5a7bba12a1915cc6753ba205d225a9ed1c19abf2f8d70fe384f46fd83617a30fb135df25f65c6c317968c9c248c634d54000a6ddf397d15</nowiki><br />
|- <br />
| urn:uuid:4786100d-a115-4727-b7a5-4814804d2ac1<br />
| 65541ef6881bd5f90f5b3d06e54928088f6c709a3ac355c5f30714563ed6d709<br />
| <nowiki>https://id.school/sppilot/f95e6af16b7a9db23fcca21b7c67ec9463dbc754933fbebe7c6b84cae836a1792046a2fe6be6cfcd4f27527f73e015384a34233fbeac91a67e7921319cda8ab8</nowiki><br />
|- <br />
| urn:uuid:8fecd96c-ad4d-40a8-a751-a5d35d649f47<br />
| 46d001349b7c82250cd05d8bcab143386d8fb373c97bf03881af7928dc2ebc1a<br />
| <nowiki>https://id.school/sppilot/0c5037c440f2090951e32d50218f27b8cfedcfad72b6f9ba81a34f225b0ea953258bf6937ff0920dc8493a463368ad4efbb00b8972ecf7342cb175f2dbc88c25</nowiki><br />
|- <br />
| urn:uuid:fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e<br />
| d005bda54660904b63acfb4d4ac0f1b282ee6d2c83a976c835b7939f81e5ee3b<br />
| <nowiki>https://id.school/sppilot/8f98238f57e3aace33bdf6825db95c16ef0aed9639611757f2642decf28b1e209f1f7ef974510b6c9c0a94fc9b74d5089deea0e9dc3207e78cc1e4ee9e930472</nowiki><br />
|}<br />
<br />
Onderstaande tests 22 - 25 gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 22'''<br />
<br />
# Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 22'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 23'''<br />
<br />
# Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 23'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 24'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 24'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 25'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 25'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7633SID:Kwalificatie-tech2017-09-08T14:25:57Z<p>Fleischeuers01: /* Ophalen ECK ID test (service: retrieveEckId) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 10'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
'''Response 1 - 10'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 11 – 20'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 11 - 20'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 2<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 0<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 1<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 2<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 3<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 4<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 5<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 6<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 7<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 8<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 9<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 10<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 11<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
# Haal voor identifiers uit Tabel 2 het ECK ID op. Gebruik een eigen, onafhankelijk request voor elke identifier. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 8 – 21'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 2<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| 17ff6722@54321<br />
| 6a6d93<br />
|<br />
<br />
|-<br />
| 4ah4ef55@54321<br />
| 51190c<br />
|<br />
<br />
|-<br />
| abc@3hof.nl@54321<br />
| f67e91<br />
|<br />
<br />
|-<br />
| Albert.Bijker@driehof.nl:54321<br />
| 7e8fd5<br />
|<br />
<br />
|-<br />
| ca663d43@54321<br />
| 975792<br />
|<br />
<br />
|-<br />
| mkb@3hof.nl@54321<br />
| eb4637<br />
|<br />
<br />
|-<br />
| tkr@3hof.nl@54321<br />
| 882bf4<br />
|<br />
<br />
|-<br />
| vvd@3hof.nl@54321<br />
| 735af7<br />
|<br />
<br />
|-<br />
| {1c19a9c8-051d-469b-a821-55ed475bfd61}<br />
| 7f355b<br />
|<br />
<br />
|-<br />
| {761bb5af-989c-4cef-aac0-168755c4f247}<br />
| 77d650<br />
|<br />
<br />
|-<br />
| {8c4fd902-6460-4121-aeca-169f6d39ba6b}<br />
| ba5cf2<br />
|<br />
<br />
|-<br />
| {8fecd96c-ad4d-40a8-a751-a5d35d649f47}<br />
| e7e7a7<br />
|<br />
<br />
|-<br />
| {fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e}<br />
| 74b62a<br />
|<br />
<br />
|}<br />
<br />
Onderstaande tests 22 - 25 gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 22'''<br />
<br />
# Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 22'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 23'''<br />
<br />
# Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 23'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 24'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 24'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 25'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 25'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7632SID:Kwalificatie-tech2017-09-08T14:25:30Z<p>Fleischeuers01: /* Ophalen ECK ID test (service: retrieveEckId) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen Stampseudoniem test (service: retrieveStampseudoniem) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 10'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
'''Response 1 - 10'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte stampseudoniem bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
'''Request 11 – 20'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
'''Response 11 - 20'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 0<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 1<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 2<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 3<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 4<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 5<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 6<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 7<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 8<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 9<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 10<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 11<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
# Haal voor identifiers uit Tabel 2 het ECK ID op. Gebruik een eigen, onafhankelijk request voor elke identifier. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 8 – 21'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 2<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| 17ff6722@54321<br />
| 6a6d93<br />
|<br />
<br />
|-<br />
| 4ah4ef55@54321<br />
| 51190c<br />
|<br />
<br />
|-<br />
| abc@3hof.nl@54321<br />
| f67e91<br />
|<br />
<br />
|-<br />
| Albert.Bijker@driehof.nl:54321<br />
| 7e8fd5<br />
|<br />
<br />
|-<br />
| ca663d43@54321<br />
| 975792<br />
|<br />
<br />
|-<br />
| mkb@3hof.nl@54321<br />
| eb4637<br />
|<br />
<br />
|-<br />
| tkr@3hof.nl@54321<br />
| 882bf4<br />
|<br />
<br />
|-<br />
| vvd@3hof.nl@54321<br />
| 735af7<br />
|<br />
<br />
|-<br />
| {1c19a9c8-051d-469b-a821-55ed475bfd61}<br />
| 7f355b<br />
|<br />
<br />
|-<br />
| {761bb5af-989c-4cef-aac0-168755c4f247}<br />
| 77d650<br />
|<br />
<br />
|-<br />
| {8c4fd902-6460-4121-aeca-169f6d39ba6b}<br />
| ba5cf2<br />
|<br />
<br />
|-<br />
| {8fecd96c-ad4d-40a8-a751-a5d35d649f47}<br />
| e7e7a7<br />
|<br />
<br />
|-<br />
| {fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e}<br />
| 74b62a<br />
|<br />
<br />
|}<br />
<br />
Onderstaande tests 22 - 25 gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 22'''<br />
<br />
# Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 22'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 23'''<br />
<br />
# Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 23'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 24'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 24'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 25'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 25'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:Kwalificatie-tech&diff=7631SID:Kwalificatie-tech2017-09-08T14:23:40Z<p>Fleischeuers01: /* Ophalen ECK ID test (service: retrieveEckId) */</p>
<hr />
<div>= Kwalificatietest – services =<br />
<br />
Dit document beschrijft een deel van de kwalificatietest voor aansluiting van een systeem op de Nummervoorziening. In dit deel wordt geverifieerd of het aansluitende systeem op de juiste wijze de API van de Nummervoorziening aanroept, en of de foutsituaties die voorkomen correct worden afgehandeld.<br />
<br />
De kwalificatietest wordt gerund op de kwalificatieomgeving. Deze test wordt doorlopen door een verantwoordelijke van het aansluitende systeem, in het bijzijn van een implementatie engineer van Kennisnet. De verantwoordelijke van het aansluitende systeem voert de gevraagde tests uit volgens de voorschriften. De implementatie engineer beoordeelt of de test volgens de beschrijving is uitgevoerd en of het antwoord voldoet aan de gestelde eis. <br />
<br />
{{Info|Het endpoint van de service op de kwalificatieomgeving is {{SID:URL_kwalificatieomgeving}}}}<br />
<br />
Om deze omgeving aan te kunnen roepen moet het aanroepende systeem een PKI Overheid certificaat gebruiken. Het SERIALNUMBER veld in het subject van dit certificaat wordt gebruikt om het aanroepende systeem te autoriseren. Autoriseren van aansluitende systemen vindt plaats in de beheerapplicatie van de kwalificatieomgeving.<br />
<br />
{{Info|De URL van de beheerapplicatie op de kwalificatieomgeving is {{SID:URL_beheerkwalificatieomgeving}} }}<br />
<br />
De service tests zijn beschikbaar als [[Media:NV-Kwalificatie-testsuite.zip|SOAPUI project]]. In dit project is een testsuite opgenomen. Hierin is geïllustreerd welke requests er van het systeem worden verwacht, en welke responses de Nummervoorziening daarop geeft.<br />
<br />
{{Info|SOAPUI 5.2.1, 5.3.0 gebruikt standaard zijn eigen, verouderde, Java runtime. Deze versie heeft niet de juiste SSL ondersteuning om met de Nummervoorziening te communiceren. Je merkt dit aan de foutmelding "javax.net.ssl.SSLException: Received fatal alert: protocol_version". Installeer zelf een Java versie 8 of hoger, en configureer SOAPUI om deze versie te gebruiken.}} <br />
<br />
'''Let op<br/>'''<br />
Deze testen hebben tot doel het verkrijgen van zekerheid dat het gebruik van de Nummervoorziening niet tot operationele problemen leidt in het normale dagelijkse gebruik op school. In de test worden doelbewust manipulaties gevraagd die tot uitzonderingen leiden. '''Als een manipulatie niet door normale gebruikers en beheerders van het aansluitende systeem kunnen worden uitgevoerd, bijvoorbeeld omdat het systeem hiertegen beschermd is, dan geldt de test op dit punt als geslaagd.'''<br />
<br />
== Ping test (service: ping) ==<br />
<br />
In deze test wordt de connectiviteit, certificaat-verwerking en WS-Addressing getest. Als het aansluitende systeem de ping service niet ondersteunt, voer deze test dan uit met de service retrieveChains.<br />
<br />
'''Request 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stuur een ping request.</p></blockquote></li></ol><br />
<br />
'''Response 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><blockquote><p>Stel vast dat het antwoord geen SOAP Fault is</p></blockquote></li><br />
<li><blockquote><p>Stel vast dat het antwoord de huidige tijd bevat in het veld Envelope/Body/pingResponse/systemTime (bij gebruik van retrieveChains, stel vast dat de reponse een geldige chainId bevat).</p></blockquote></li></ol><br />
<br />
'''Request 2'''<br />
<br />
# Stuur een ping request. Pas de WS-A From: header zo aan dat deze alleen '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous</nowiki>''' bevat, dwz geen geldig oin.<br />
<br />
'''Response 2'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Technische fout: het request bevat geen (geldige) From header.”<br />
<br />
'''Request 3'''<br />
<br />
# Stuur een ping request. Pas de instelling van het systeem aan zodat er een WS-A From header wordt gestuurd met een onbekend BRIN nummer, bijvoorbeeld 99XX. De volledige header ziet er dan uit als '''<nowiki>http://www.w3.org/2005/08/addressing/anonymous?oin=0000000700099XX00000</nowiki>'''<br />
<br />
'''Response 3'''<br />
<br />
# Stel vast dat het antwoord een SOAP Fault is<br />
# Stel vast dat de foutmelding is “Uw Bevoegd Gezag is nog niet geautoriseerd voor het gebruik van de Nummervoorziening.”.<br />
# Stel vast dat melding die de eindgebruiker hierover ziet in het aansluitende systeem helder en duidelijk is.<br />
<br />
== Ophalen ECK ID test (service: retrieveEckId) ==<br />
<br />
Deze test valideert dat de primaire functie van de Nummervoorziening, het aanmaken en retourneren van stampseudoniemen, op de juiste manier wordt gebruikt door het aansluitende systeem.<br />
<br />
'''Request 1 - 10'''<br />
<br />
# Haal voor PGN’s uit Tabel 1 het stampseudoniem op. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request.<br />
<br />
Parameters voor het genereren van de gehashte PGNs zijn:<br />
* N = 131072<br />
* r = 8<br />
* p = 4<br />
* salt = rktYml0MIp9TC9u6Ny6uqw==<br />
<br />
'''Response 1 - 10'''<br />
<br />
# Ga na dat de response geen SOAP fault is.<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! PGN<br />
! hPGN<br />
! Stampseudoniem<br />
|-<br />
| 139227672<br />
| 66a1bac852fe417b74b664f12d32e2de3990ed421c6763bea5d85cbcb171056e<br />
| <nowiki>https://id.school/sppilot/eacf3765ad342feb5f65c2bf8194b4ccc3d68cec3c01d3c260636747a2b06d092fcc3a8d655bbdc4ae7d815ed005cf3a11fe9cab2365f95da3e9965501f7c98e</nowiki><br />
|- <br />
| 170612673<br />
| 11e4f0e5e005925c8e79d29b174452bcca5c0cc7c9a9f9e727eec0dd14c5db24<br />
| <nowiki>https://id.school/sppilot/65cdce6e2bcb8715a64824d4d5e66e3d60de601e28c129867547838fda66d090fb04e2be0863d2993a11e9b6e6b372260eee75f08bfd8932d9afb1deb6684c5b</nowiki><br />
|- <br />
| 220500186<br />
| 6fd7446c59e9c9d83a87fa7bbf1b320a5610a10ae449b51bfb095540fb45bdf6<br />
| <nowiki>https://id.school/sppilot/62314af7f253727c74d2a13b76068303d424fe53ce4a2fcaa17ffbe4c75ce5fe3e2511350594c0ef6c19b3264f48d7d10303d7967aac4a0c2a3372d3170df7bc</nowiki><br />
|- <br />
| 307702522<br />
| 8671119bb2466a51a29a0d5bbcc2d82902909378b6c88fdf6db77b6869104f0c<br />
| <nowiki>https://id.school/sppilot/3386bceffc6bde1b804ddc453b57bd1aa633ab668481eaf2f9ba3da424e86770126f678db2d507a10392887afbc2d8d07e30e41f433fb0d3b79135acc0fc37d7</nowiki><br />
|- <br />
| 479694217<br />
| a5cd3d639552ec9e2ffcc36685b478ad712478f6f64f2abc580195d8908c5a04<br />
| <nowiki>https://id.school/sppilot/ccc4e8cbc286ebc7f1e42342229ec95cf3a07519d4895f72bf51a4273179e5021a71555c8a1ef70ae76bba9a9c98ca1d79e1fd270499e0bed9593a22e8435f83</nowiki><br />
|- <br />
| 543997911<br />
| 8e6b2b9bb54c26819e4752da611c845c97be28abc9394e169b4c0c3ffa92b841<br />
| <nowiki>https://id.school/sppilot/15286dd734ad306d572ee12944611cd55fd34e74fe5156415d8ea6f7ea7e5550ead707d441be0f13ec692c6499ba2210332f4e7247aced5eb6efad81e3eeea77</nowiki><br />
|- <br />
| 586613675<br />
| a037c4ea05ee750029528a24f2a34df5b0fe74120b6f74e642b9a3904529aeb9<br />
| <nowiki>https://id.school/sppilot/bd37b770c4f9692a980dcbe3f434153177d9fe98afe98686381b9675aa5f5bcb9a650a4285559150cfc43208ac83dbb663e5a18049ee19f0b070562fdd1272cc</nowiki><br />
|- <br />
| 644153258<br />
| 2424e132f0f6897972e6d3ee36ed3d725a74a782284a49f2f429ebb76fa664ca<br />
| <nowiki>https://id.school/sppilot/286ae5d60aa2fa9c9097a9426848864f1a302fc4a075ed073320975af90f0e1d4b759475a837118500de4414d97ce11ba01c25396bf63ec10905457424474e75</nowiki><br />
|- <br />
| 666614192<br />
| f61fa5b023fa927f45a93431ebddf12d2ff8834b85ae800a0b17792ae4152401<br />
| <nowiki>https://id.school/sppilot/9f96688af2ccdbdd5d3b4c199e5ffb5bd82fc89e4215426c3731e4277e5bf1c59a00f42769824eda2750d4d5931f1143d3a56b03ca25ffa0613386b4a330c487</nowiki><br />
|- <br />
| 702289905<br />
| dbe7f9c1071fcc9a14c99972392388b965025ec84bbdadb812890e18d1b66fb1<br />
| <nowiki>https://id.school/sppilot/91761bacaeca5d5d032cfa334924ae92614a493ef5b61f9d6c51754aefe291c060a860cdfcabaa80497d5a81a5398bc2e27bebe6343b6d84caecde6fd3b42b25</nowiki><br />
|- <br />
| 854868604<br />
| 45a632ebab0e35c5b6273f7f9d032efcbdc10821f8c3264d027f743aa994f0ee<br />
| <nowiki>https://id.school/sppilot/9611434dd589fe9ffc76fed40510e4f218c5ee8648ec0859344801a298e5aadd32504052d8acf3259d27fbe5590dba03cbe047857413a5e17c554df7da4696c7</nowiki><br />
|- <br />
| 992795862<br />
| 6898a8aec6a26d237265173d982394d753e0a20dca4b499ad01d1cc542391bc3<br />
| <nowiki>https://id.school/sppilot/d78c6a9d71627e190bca417b8e17cf496700f87827232dd5e86074485418ce2d97ee990521da2c6cb3a14e7314f931c69a25c3b38c3017345fa749cb5d279639</nowiki><br />
|}<br />
<br />
'''Request 11 – 20'''<br />
<br />
# Haal voor stampseudoniemen uit Tabel 1 het ECK ID. Gebruik voor elk stampseudoniem een eigen, onafhankelijk request. Gebruik de ECK keten en de PO sector.<br />
<br />
{| class="wikitable"<br />
|+ Tabel 1<br />
! No.<br />
! Stampseudoniem (6)<br />
! ECK ID<br />
|-<br />
| 0<br />
| f7c98e<br />
| <nowiki>https://id.school/pilot/8e0a9f57fc76854d3dd2d3c4fa732feaf7b7a2d5f549a5458ce300223b83172f5074aa88a8cef0712aca19b62e9b90d0352e98fc76f498cd3947e7cc810f03fa</nowiki><br />
|- <br />
| 1<br />
| 684c5b<br />
| <nowiki>https://id.school/pilot/0c6e27c2048f4bd3acbc6da99985f83038bb2e09666bf9f2adf5cc3f9bee1da7cecf3ecc68d7e8882ad96e6f35d7b58189240d1299d4eb33b4524461440141d8</nowiki><br />
|- <br />
| 2<br />
| 0df7bc<br />
| <nowiki>https://id.school/pilot/484ce7121cfc510756cdd5a49e6de1938f5bd7cf619df23cd51ccdf66afa41ab7c0a2590de16ec7f9bd7f3676d911b6f77129fd62f986b56c79c026f8e7c7168</nowiki><br />
|- <br />
| 3<br />
| fc37d7<br />
| <nowiki>https://id.school/pilot/b0bad121e2a7d9566367088e9ef9eb701fd5e4abc7f840b81202596f1a36609aa5c7a4c8e3ecc54a6c4f5e56ebd582c3d16a14610095219dae6ceea1de21c683</nowiki><br />
|- <br />
| 4<br />
| 435f83<br />
| <nowiki>https://id.school/pilot/a56668611ec306b5cd318080538ba22b60e9318695ecdd5f4eacd42d8b37a981206b2a7c08109cf3d78035d70f4a041d8d2b06c698d1e2d7ee17d8299edd95d4</nowiki><br />
|- <br />
| 5<br />
| eeea77<br />
| <nowiki>https://id.school/pilot/883830bcd2cea976385f50f9b79e4233a0d9d13e9b3ece64de4d9f4bf4c9a6143e0598c997757008349cf100213957268e1b8fc92e572188af3ffa8b8f64468a</nowiki><br />
|- <br />
| 6<br />
| 1272cc<br />
| <nowiki>https://id.school/pilot/e319ee24c21f4849395fd79392fc172a13d33783c04071dc8c46e994d922b9ff5bfa57aee04805f02c3907c9eebbddb05df94bf167563f99f561ae2915692715</nowiki><br />
|- <br />
| 7<br />
| 474e75<br />
| <nowiki>https://id.school/pilot/1943755dadaa403ff135398b59510ac3a67f4fa82fb0a89ccfcd9dd47d45d24797fd6cf414d7caaeef183615a858a1ab80d931fa6181caa4848a51b6a82a5cf5</nowiki><br />
|- <br />
| 8<br />
| 30c487<br />
| <nowiki>https://id.school/pilot/c110ed8cd3c2dc5b4277274b67e0bd28fd59503100985bbc702016e72a05268a2798b796b2b3829551cf46d98f0e6c00abc0b098c5b65c0c2a40e70c680108c9</nowiki><br />
|- <br />
| 9<br />
| b42b25<br />
| <nowiki>https://id.school/pilot/e0972e3cc40a8b44620acdf9e38e34993bcfe09ee36f355727a2d2a9cfae5e0f4349db8827ef710b31b4747a0dc5c884923cd2df47895e126684c6397dcbda7d</nowiki><br />
|- <br />
| 10<br />
| 4696c7<br />
| <nowiki>https://id.school/pilot/e77d343bb68d3b039abbd4d62ee55eddc8bdd5fa3e7d3b8088f97c1d992ae3dcaa24ec2bd86d6d61f10fab713cbc9657cc4c054dae2efe06ef5feb45fae0ac92</nowiki><br />
|- <br />
| 11<br />
| 279639<br />
| <nowiki>https://id.school/pilot/1a5c9c7203901866532c2d72ce056e1d29cacc70836fe2bc3a517f3f9a53eed3d77ef370ad6dcf80b3f34ced1c547c7d2e679e8e47002355f938213b3656b206</nowiki><br />
|}<br />
<br />
<br />
# Haal voor identifiers uit Tabel 2 het ECK ID op. Gebruik een eigen, onafhankelijk request voor elke identifier. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 8 – 21'''<br />
<br />
# Ga na dat het response geen SOAP Fault is<br />
# Ga na dat het antwoord het correcte ECK ID bevat<br />
<br />
{| class="wikitable"<br />
|+Tabel 2<br />
! Identifier<br />
! hPGN (6)<br />
! ECK ID<br />
|-<br />
| 17ff6722@54321<br />
| 6a6d93<br />
|<br />
<br />
|-<br />
| 4ah4ef55@54321<br />
| 51190c<br />
|<br />
<br />
|-<br />
| abc@3hof.nl@54321<br />
| f67e91<br />
|<br />
<br />
|-<br />
| Albert.Bijker@driehof.nl:54321<br />
| 7e8fd5<br />
|<br />
<br />
|-<br />
| ca663d43@54321<br />
| 975792<br />
|<br />
<br />
|-<br />
| mkb@3hof.nl@54321<br />
| eb4637<br />
|<br />
<br />
|-<br />
| tkr@3hof.nl@54321<br />
| 882bf4<br />
|<br />
<br />
|-<br />
| vvd@3hof.nl@54321<br />
| 735af7<br />
|<br />
<br />
|-<br />
| {1c19a9c8-051d-469b-a821-55ed475bfd61}<br />
| 7f355b<br />
|<br />
<br />
|-<br />
| {761bb5af-989c-4cef-aac0-168755c4f247}<br />
| 77d650<br />
|<br />
<br />
|-<br />
| {8c4fd902-6460-4121-aeca-169f6d39ba6b}<br />
| ba5cf2<br />
|<br />
<br />
|-<br />
| {8fecd96c-ad4d-40a8-a751-a5d35d649f47}<br />
| e7e7a7<br />
|<br />
<br />
|-<br />
| {fdd5f9d7-f7b0-4f00-9aa8-7f15c4a4364e}<br />
| 74b62a<br />
|<br />
<br />
|}<br />
<br />
Onderstaande tests 22 - 25 gaan er van uit dat de waarden die het systeem in het request opneemt, kunnen worden aangepast door de gebruiker of beheerder van het systeem. Als dat niet het geval is, zijn deze tests voor dit systeem geslaagd.<br />
<br />
'''Request 22'''<br />
<br />
# Haal een ECK ID op voor een leeg PGN. Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 22'''<br />
<br />
# Stel vast dat het response een SOAP fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Leeg HPgn object ontvangen” bevat<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 23'''<br />
<br />
# Haal een ECK ID op en gebruik een gehasht PGN dat één positie te kort is (dwz verwijder een letter). Gebruik de ECK keten en de VO sector.<br />
<br />
'''Response 23'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “HPgn is te kort. Een tekenreeks van minimaal 64 karakters werd verwacht.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 24'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de VO Sector in het request.<br />
<br />
'''Response 24'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor sector is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
'''Request 25'''<br />
<br />
# Haal een ECK ID op. Gebruik de ECK keten en de VO sector. Verander een letter in de waarde van de ECK Keten in het request.<br />
<br />
'''Response 25'''<br />
<br />
# Stel vast dat het response een SOAP Fault is<br />
# Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Ontvangen waarde voor keten is onbekend.”<br />
# Stel vast dat de foutmelding die de gebruiker hierover ziet duidelijk is<br />
<br />
== Substitutie test (service: replaceEckId) ==<br />
<br />
Ga in de beheer applicatie na dat er bij aanvang van deze test geen bestaande substituties zijn voor deze school. Als ze er wel zijn, verwijder deze met de ‘delete’ knop.<br />
<br />
'''Substitutie 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 154341101. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 167617345. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 154341101 te vervangen door 167617345. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 154341101. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De aangeleverde HPgn is geblokkeerd” bevat.</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Haal een ECK ID opnieuw op voor PGN 167617345. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is.</p></li><br />
<li><p>Stel vast dat het geleverde ECK ID in het response gelijk is aan ‘oud ECK ID’, en ''niet'' aan ‘nieuw ECK ID’.</p></li></ol><br />
</li></ol><br />
<br />
'''Substitutie 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Haal een ECK ID op voor PGN 942798016. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘oud ECK ID’.</p></li><br />
<li><p>Haal een ECK ID op voor PGN 952351626. Gebruik de ECK keten en de VO sector. Onthoud het ECK ID als ‘nieuw ECK ID’.</p></li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response geen SOAP Fault is</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 603778872 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Roep de substitutieservice aan om het PGN 942798016 te vervangen door 952351626. Gebruik de ECK keten en de VO sector.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Deze substitutie bestaat al: ” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
== Batch test (service: submitEckIdBatch, retrieveEckIdBatch) ==<br />
<br />
Deze tests gaan na of het aansluitende systeem zich netjes aan de limieten van de batch verwerking houdt.<br />
<br />
'''Batch 1'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 een ongeldige waarde heeft (te lang of te kort) of leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 10 seconden en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
{| class="wikitable"<br />
|+Tabel 3<br />
! PGN<br />
! hPGN (6)<br />
|-<br />
| 587381310<br />
| e95075<br />
|-<br />
| 603778872<br />
| f1098f<br />
|-<br />
| 624833057<br />
| ecc3f4<br />
|-<br />
| 640093024<br />
| dda693<br />
|-<br />
| 644153258<br />
| b173a0<br />
|-<br />
| 656096809<br />
| b46daf<br />
|-<br />
| ??<br />
|<br />
<br />
|-<br />
| 656096810<br />
| 5055af<br />
|-<br />
| 661678738<br />
| 996ab<br />
|-<br />
| 666560341<br />
| c9e811<br />
|}<br />
<br />
'''Batch 2'''<br />
<br />
<ol style="list-style-type: decimal;"><br />
<li><p>Stel een batch request samen op basis van de PGNs uit Tabel 3. Zorg er hierbij voor dat de gehashte PGN uit rij 7 leeg is. Gebruik de ECK keten en de VO sector.</p></li><br />
<li><p>Stuur het batch request op.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP Fault is</p></li><br />
<li><p>Stel vast dat het antwoord een batchID bevat</p></li></ol><br />
</li><br />
<li><p>Wacht niet en haal het batchresultaat onmiddellijk op, op basis van het batchid.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “De school mag tijdelijk geen batches ophalen wegens een opgelegde cooldown timeout.” bevat</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden vanaf het vorige request en haal het batchresultaat opnieuw op</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “U kunt tijdelijk de batch niet ophalen wegens het niet honoreren van de cooldown periode.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht minstens 20 seconden na het vorige request en haal dan het batch resultaat op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat het antwoord geen SOAP fault is</p></li><br />
<li><p>Stel vast dat het antwoord 9 correcte ECK IDs bevat</p></li><br />
<li><p>Stel vast dat het antwoord 1 failed element bevat, voor index 7 en met tekst “Genereren van EckId niet succesvol”</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li><br />
<li><p>Wacht 10 seconden en haal dan het batch resultaat opnieuw op, op basis van het batchID.</p><br />
<ol style="list-style-type: lower-alpha;"><br />
<li><p>Stel vast dat de response een SOAP Fault is</p></li><br />
<li><p>Stel vast dat het veld Envelope/Body/Fault/detail/message de tekst “Batch reeds opgehaald.” is</p></li><br />
<li><p>Stel vast dat de melding die de gebruiker hierover ziet in het systeem duidelijk is.</p></li></ol><br />
</li></ol><br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:URL_beheerkwalificatieomgeving&diff=7628SID:URL beheerkwalificatieomgeving2017-09-08T08:29:53Z<p>Fleischeuers01: </p>
<hr />
<div>'''https://beheer-q.nv.kennisnet.nl/admin/'''<br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:URL_beheerkwalificatieomgeving&diff=7627SID:URL beheerkwalificatieomgeving2017-09-08T08:29:27Z<p>Fleischeuers01: </p>
<hr />
<div>'''<nowiki>https://beheer-q.nv.kennisnet.nl/admin/</nowiki>'''<br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:URL_sandboxomgeving&diff=7626SID:URL sandboxomgeving2017-09-08T08:28:50Z<p>Fleischeuers01: </p>
<hr />
<div>'''<nowiki>https://service-s.id.school/eck/ws/201703/</nowiki>'''<br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:URL_kwalificatieomgeving&diff=7625SID:URL kwalificatieomgeving2017-09-08T08:22:56Z<p>Fleischeuers01: </p>
<hr />
<div>'''<nowiki>https://service-q.id.school/eck/ws/201703/</nowiki>'''<br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:URL_beheerkwalificatieomgeving&diff=7624SID:URL beheerkwalificatieomgeving2017-09-08T08:19:52Z<p>Fleischeuers01: </p>
<hr />
<div>https://beheer-q.nv.kennisnet.nl/admin/<br />
<br />
[[Categorie:Nummervoorziening]]</div>Fleischeuers01https://developers.wiki.kennisnet.nl/index.php?title=SID:URL_beheerkwalificatieomgeving&diff=7623SID:URL beheerkwalificatieomgeving2017-09-08T08:18:15Z<p>Fleischeuers01: Nieuwe pagina aangemaakt met 'https://beheer-q.nv.kennisnet.nl/admin/'</p>
<hr />
<div>https://beheer-q.nv.kennisnet.nl/admin/</div>Fleischeuers01