EI - Översikt automatiserade tester

Innehåll:

Automatiserade tester

Här beskrivs Engagemangsindex automatiserade tester för att verifiera förväntad funktionalitet.

Testerna exekveras i en byggserver så fort ny kod checkas in.

Persistenslager

Projekt: composite/svc

Paket: se.skltp.ei.svc.entity

Innehåller såväl unit tester som integrationstester för att verifiera funktionalitet i persistenslagret.

EngagementIntegrationTest

TestValiderar regel i TKKommentar

timestamp_R5

§7.5 Update - R5Positivt test som verifierar korrekt beteende att creationTime och UpdateTime sätts vid skapande respektive uppdatering av engagemangsposten

shouldFindPreviouslySavedPerson

 Test av persisteringen

findByMultipleKeys

 Verifiering av korrekt beteende att sökning kan göras baserat på en lista med ID:n

findContentAllFields

 Verifiering av korrekt beteende att en sökning ger korrekt resultat när alla query-parametrar anges

findContentMandatoryFields

 Verifiering av korrekt beteende att en sökning ger korrekt resultat när endast de obligatoriska query-parametrarna ages (serviceDomain,registeredResidentIdentification)
 

findContentMandatoryFieldsAndDate

 Verifiering av korrekt beteende att och är en utökning av testet findContentMandatoryFields och används för att testa att mostRecentContent som query-parameter. Engagemang med mostRecentContent med äldre timestamp ska inte returneras.
 

findByRegisteredResidentIdentification

 Verifering av korrekt beteende att registeredResidentIdentification som query-parameter returnerar korrekt post

EngagementTest

TestValiderar regel i TKKommentar

businessKeyTest

-Verifierar korrekt beteende kring unikheten av businessKeys

equalsTest

-Verifierar korrekt beteende kring vad som anses vara en unik engagemangspost när dessa jämförs

hashCodeTest

-Verifierar korrekt beteende kring att hashCode returnerar korrekt värde för engagemang

EntityTransformerTest

TestValiderar regel i TKKommentar

dateParseTest

-Verifierar korrekt beteende för hur datum ska "parsas" när Engagemangsobjekt ska skapas

incorrectDateParseTest

-Negativt test som verifierar att ett

IllegalArgumentException kastas när det angiva indatan inte har formatet YYYYMMDDhhmmss

 

Verksamhetslager

Projekt: composite/svc

Paket: se.skltp.ei.svc.service

Innehåller unit tester för att verifiera att verksamhetsregler i tjänstekontraktsspecifikationen för engagemangsindex följs.
Tester är namnsatta med referens till regler i tjänstekontraktsspecifikationen (R1 - RN) för enkel mappning mellan krav och test.
Persistenslagret är mockat mha testramverket Mockito.

ProcessBeanTest

TestValiderar regel i TKKommentar
update_r1_positive()§7.5 Update - R1Positivt test som validerar normalt beteende
update_r1_negative_validate_non_equal()§7.5 Update - R1Negativtest som validerar korrekt felmeddelande

update_r7_positive_owner_matches_logicaladdress()

§7.5 Update - R7Positivt test som validerar normalt beteende
update_r7_negative_owner_dont_match_logicaladdress()§7.5 Update - R7

Negativt test som validerar korrekt felmeddelande när logisk adress
i Update request inte är identisk med engagemangsindex egna HSA ID 

update_r7_neagtive_null_header()§7.5 Update - R7Negativt test som validerar korrekt felmeddelande när logisk adress saknas

update_ERR_mandatory_fields_are_missing

§7.4 UpdateNegativt test som validerar korrekt beteende när någon av de obligatoriska fälten i engagemang saknas

processNotication_update_R1_OK

§7.5 Update - R1Positivt test som validerar korrekt beteende vid processNotification för processNotification

processNotification_update_R1_ERR_null

§7.5 Update - R1Negativt test som validerar korrekt felmeddelande vid processNotificaton för processNotification

processNotification_update_R1_ERR_validate_non_equal

§7.5 Update - R1Negativt test som validerar korrekt felmeddelande för processNotification

processNotification_R4_OK_filter_should_remove_circular_notifications

§10.5 ProcessNotification - R4Positivt test som validerar korrekt beteende att engagemang filtreras bort när owner på engagemanget är samma som owner på indexet.

processNotification_R4_OK_no_engagements_left

§10.5 ProcessNotification - R4Positivt test som validerar korrekt beteende att att man har en tom lista när alla engagemang filtrerats bort.

processNotification_ERR_owner_is_missing

$10.4 - ProcessNotificationNegativt test som validerar korrekt felmeddelande när owner-fältet saknas

 

ProcessBeanIntegrationTest

TestValiderar regel i TKKommentar
update_R2_OK_delete_engagesments_before_save§7.5 Update - R2Positivt test som validerar normalt beteende att engagemang inte sparas när deleteFlag är satt till true 

update_R2_OK_delete_engagesments_after_save

§7.5 Update - R2Positivt test som validerar normalt beteende att engagemang tas bort när deleteFlag är satt till true

update_R2_OK_should_not_delete_when_deleteflag_is_false

§7.5 Update - R2Positivt test som validerar normalt beteende att engagemang inte tas bort när deleteFlag är satt till false

update_R4_OK_new_content_should_result_in_an_update

§7.5 Update - R4Positivt test som validerar normalt beteende att nya poster uppdateras när det finns nytt innehåll att spara. Detta görs just nu bara för mostRecentContent.

update_R4_OK_new_metadata_should_not_update_engagements

§7.5 Update - R4Positivt test som validerar normalt beteende att det skapas nya poster när attribut som är del av postens unikhet uppdateras.

update_R5_OK_creationtime_should_be_set_when_saving

§7.5 Update - R5Positivt test som validerar normalt beteende att endast creationTime sätts när posten sparas

update_R5_OK_updatetime_should_be_set_when_updating

§7.5 Update - R5Positivt test som validerar normalt beteende att updateTime har satts när en post uppdateras

update_R5_OK_updatetime_should_only_be_set_on_update

§7.5 Update - R5Positivt test som validerar normalt beteende att updateTime inte uppdateras om det inte finns något nytt innehåll att spara.

update_R6_OK_owner_should_be_set_when_saved

§7.5 Update - R6 Positivt test som validerar normalt beteende att indexets ägare sätts som owner
   

processNotification_R1_OK_owner_should_be_saved

§10.5 ProcessNotification - R1Positivt test som verifierar normalt beteende att posten sparas samt att det nu är det medföljande värdet på owner som ska sparas.

processNotification_R2_OK_delete_engagements_before_save

§10.5 ProcessNotification - R2Positivt test som verifierar normalt beteende att det inte sparas någon post när deleteFlag är satt till true.

processNotification_R2_OK_delete_engagements_after_save

§10.5 ProcessNotification - R2Positivt test som verifierar normalt beteende att sparade poster tas bort om deleteFlag är satt till true.

processNotification_R2_OK_should_not_delete_when_deleteflag_is_false

§10.5 ProcessNotification - R2Positivt test som verifierar normalt beteende att det inte tas bort någon sparade poster när deleteFlag är satt till false

processNotification_R5_OK_should_not_remove_posts_with_other_owner

 §10.5 ProcessNotification - R5Positivt test som verifierar normalt beteende att engagemang inte tas bort i normalfallet där poster inte byter owner.

processNotification_R5_OK_should_one_store_engagement_with_new_owner

§10.5 ProcessNotification - R5Positivt test som verifierar normalt beteende att engagemang tas bort och ersätts med engagemang med ny owner för engagemang där indexet är owner.

FindContentBeanTest

TestValiderar regel i TKKommentar

findContent_R1_OK

§9.5 FindContent - R1

Positivt test som verifierar normalt beteende att rätt post hämtas ut

findContent_R1_OK_validate_findContent

§9.5 FindContent - R1Positivt test som verifierar normalt beteende att valideringen av en korrekt förfrågan går igenom

findContent_R1_ERR_validate_findContent

§9.5 FindContent - R1Negativt test som validerar korrekt felhantering och felmeddelande när antingen serviceDomain eller registeredResidentIdentification saknas

 

Integrationslager

Projekt: module/intsvc

Paket: se.skltp.ei.intsvc.integrationtests

Innehåller integrationstester för såväl enskilda integrationskomponenter samt end-to-end integrationstester som påvisar att förväntad funktionalitet erhålls hela vägen och inte enbart i enskilda komponenter.

Testklasser är uppdelade efter befintliga integrationskomponenter samt en övergripande end-to-end integrationstestklass.

EndToEndIntegrationTest

TestValiderar regel i TKKommentar

endToEnd_update_OK

 Verifierar flödet hela vägen från inkommande Update-anrop till notifiering till prenumeranter av ProcessNotification-anrop.
endToEnd_update_ERR_timeout_in_subscriber   Negativt test som validerar korrekt felhantering då inkommande Update-anrop drabbas av att en prenumeranter inte svarar.

UpdateServiceIntegrationTest 

TestValiderar regel i TKKommentar
update_OK Verifierar förväntat beteende i update-service vid normalt användande.
update_R1_ERR_duplicate_tx_found §7.5 Update - R1Negativt test som validerar korrekt felmeddelande när Update request innehåller två poster med samma nyckel. 

update_R7_ERR_owner_dont_match_logicaladdress

 §7.5 Update - R7Negativt test som validerar korrekt felmeddelande när logisk adress i Update request inte är identisk med engagemangsindex egna HSA ID

update_ERR_max_number_of_engagements

$7.3 UpdateNegativt test som validerar korrekt felmeddelande när fler än 1000 engagemang skickas med i samma begäran

update_ERR_mandatory_fields_are_missing

$7.4 UpdateNegativt test som validerar korrekt felmeddelande när något av de obligatoriska fälten saknas.

ProcessServiceIntegrationTest 

TestValiderar regel i TKKommentar
process_OKBland annat §7.5 Update - R3Verifierar förväntat beteende i process-service vid normalt användande.
process_notification_OKBland annat $10.5 ProcessNotification - R3Verifierar förväntat beteende i process-service för processNotification.

NotifyServiceIntegrationTest 

TestValiderar regel i TKKommentar
notify_OK Verifierar förväntat beteende i notify-service vid normalt användande.

servicedomain_filtering_OK

 Verifierar att notify-tjänsten får rätt antal meddelanden när matchande filter finns för en av prenumeranterna.

filter_should_remove_one_message_for_1_subscriber

 Verifierar att notify-tjänsten inte får ett meddelande när ett ej matchande filter finns för en av prenumeranterna.

filter_should_one_send_message_to_1_subscriber

 Verifierar att notify-tjänsten enbart får ett meddelande när enbart 1 prenumerant har matchande filter och där övriga att ej matchande filter.

NotificationServiceIntegrationTest

 

TestValiderar regel i TKKommentar

notification_OK

 Validerar bland annat $10.5 ProcessNotification - R1Verifierar förväntat beteende i notification-service vid normalt användande.

update_R1_ERR_duplicate_tx_found

 §7.5 Update - R1Negativt test som validerar korrekt felmeddelande när ProcessNotification request innehåller två poster med samma nyckel. 

processNotification_ERR_max_number_of_engagements

$10.3 ProcessNotification

Negativt test som validerar korrekt felmeddelande när fler än 1000 engagemang skickas med i samma begäran

FindContentServiceIntegrationTest 

TestValiderar regel i TKKommentar
findContent_OK Verifierar förväntat beteende i findContent-service vid normalt användande.

findContent_ERR_R1_validate_findContent

§9.5 FindContent - R1Negativt test som validerar korrekt felmeddelande när antingen serviceDomain eller registeredResidentIdentification saknas

findContent_OK_R2_find_engagements

§9.5 FindContent - R2Positivt test som verifierar korrekt beteende att man får ut en specifik post genom att använda flera begränsande världen i frågan

GetLogicalAddresseesIntegrationTest 

TestValiderar regel i TKKommentar
getLogicalAddresses_OK Verifierar förväntat beteende i GetLogicalAddressesByServiceContract-tjänsten vid normalt användande.

 

SubscriberTest

Verifierar den logik som används för att filtrera engagemang per prenumerant.

TestValiderar regel i TKKommentar

no_filters

 Verifierar förväntat beteende att inga engagemang filtreras bort när det inte finns filter.

filter_with_servicedomain

 Verifierar förväntat beteende att engagemang av två engagemang filtreras bort med ett filter med servicDomain

filter_with_servicedomain_and_categorization

 Verifierar förväntat beteende att engagemang av två engagemang filtreras bort med ett filter med serviceDomain och

filter_with_wrong_category

 Verifierar förväntat beteende att alla engagmang filtreras bort och endast en tom EngagementTransaction returneras

 

SubscriberCacheImplTest

Verifierar den logik för att spara och läsa upp EI:s prenumerant-cache.

TestValiderar regel i TKKommentar

test_write_to_file

 Verifierar förväntat beteende att det går att skriva prenumerantcachen till fil

test_write_and_read_to_file

 Verifierar förväntat beteende att det går att skriva och läsa prenumerantcachefilen