Logo: Relish

  1. Sign in

Project: Qnsumer 2.0

  • Change version

    1. 2.0

Notifications

As a generator of notifications
I want the qnsumer to receive and process them appropriately
so that the target applications can receive them

Scenarios
[COMP] Delivery of a JSON notification
Given
the application is up and will accept the incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 JSON notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-Act0001-UKgConn-single.json out-notification-Act0001-UKgConn-single.json
[COMP] Delivery of a JSON notification despite the message is empty
Given
the application is up and will accept the incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 JSON notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-empty_content.json out-notification-empty_content.json
[COMP] Delivery of a JSON notification despite the format of the message is wrong
Given
the application is up and will accept the incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 JSON notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-wrong_format.json out-notification-wrong_format.json
[COMP] Delivery of a SOAP notification
Given
the application is up and will accept the incoming notification
When
a SOAP notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 SOAP notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-Act0001-UKgConn-single.soap out-notification-Act0001-UKgConn-single.soap
[COMP] Delivery of a SOAP notification despite the message is empty
Given
the application is up and will accept the incoming notification
When
a SOAP notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 SOAP notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-empty_content.soap out-notification-empty_content.soap
[COMP] Delivery of a SOAP notification despite the format of the message is wrong
Given
the application is up and will accept the incoming notification
When
a SOAP notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 SOAP notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-wrong_format.soap out-notification-wrong_format.soap
[COMP] Delivery of an XML notification
Given
the application is up and will accept the incoming notification
When
an XML notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 XML notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-Act0001-UKgConn-single.xml out-notification-Act0001-UKgConn-single.xml
[COMP] Delivery of an XML notification despite the message is empty
Given
the application is up and will accept the incoming notification
When
an XML notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 XML notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-empty_content.xml out-notification-empty_content.xml
[COMP] Delivery of an XML notification despite the format of the message is wrong
Given
the application is up and will accept the incoming notification
When
an XML notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 XML notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-wrong_format.xml out-notification-wrong_format.xml
[COMP] Delivery of a notification despite error response received from the application
Given
the application is up and will reject incoming notifications with data:
statusCode exceptionId exceptionText
500 SVR1000 Generic Server Error: Unknown
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
Then
the qnsumer sends 1 JSON notification to the application with the data in notificationSent
And
in the logs there is an entry with data:
lvl msg
INFO (.*)Notification completed with status 500(.*)
Examples:
notificationReceived notificationSent
in-notification-Act0001-UKgConn-single.json out-notification-Act0001-UKgConn-single.json
[COMP] Delivery of a notification after retrial
Given
the application is down
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
And
we let 6 seconds go
And
the application is started and will accept the incoming notification
Then
the qnsumer sends 1 JSON notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-Act0001-UKgConn-single.json out-notification-Act0001-UKgConn-single.json
[COMP] Rejection of a notification due to maximum number of retrials reached
Given
the application is down
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
http://localhost:8080/notifications/oprov
And
we let 32 seconds go
Then
in the logs there is an entry with data:
lvl msg
INFO (.*)Reached max amount of retries. Send notification for polling(.*)
And
in the logs there is an entry with data:
lvl msg
WARN (.*)Discarding notification for polling. It is required applicationId(.*)
Examples:
notificationReceived
in-notification-Act0001-UKgConn-single.json
[COMP] Rejection of a notification due to missing notificationURL and applicationId
Given
the application is up and will accept the incoming notification
When
a JSON notification is received by the qnsumer with the data in notificationReceived
Then
the qnsumer does not send any notification to the application
And
in the logs there is an entry with data:
lvl msg
WARN (.*)Discarding httpNotification. No client configured for polling(.*)
Examples:
notificationReceived
in-notification-Act0001-UKgConn-single.json
[COMP] Delivery of a notification to an HTTPS application relying on a trusted CA
Given
the HTTPS application is up using a trusted certificate and will accept the incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
https://www.google.com/notifications/oprov
And
we let 10 seconds go
Then
in the logs there is an entry with data:
lvl msg
WARN (.*)Notification response:(.*)
Examples:
notificationReceived notificationSent
in-notification-Act0001-UKgConn-single.json out-notification-Act0001-UKgConn-single.json
[COMP] Delivery of a notification to an HTTPS application relying on the keystore information
Given
the HTTPS application is up using a trusted certificate and will accept the incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
https://dev-tugo-be-01.hi.inet:8080/notifications/oprov
Then
the qnsumer sends 1 JSON notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-Act0001-UKgConn-single.json out-notification-Act0001-UKgConn-single.json
[COMP] Rejection of a notification to an HTTPS application due to untrusted certificate received from it
Given
the HTTPS application is up using an untrusted certificate and will accept the incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL
https://localhost:8080/notifications/oprov
Then
the qnsumer does not send any notification to the application
And
in the logs there is an entry with data:
lvl msg
WARN (.*)Exception when delivering a HTTP notification: General SSLEngine problem(.*)
Examples:
notificationReceived
in-notification-Act0001-UKgConn-single.json
[COMP] Delivery of a notification to an HTTPS application relying on the certificate in the notification
Given
the HTTPS application is up using an untrusted certificate and will accept the incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL reverseCertificate
https://localhost:8080/notifications/oprov MIIDHjCCAtugAwIBAgIEC0QNRDALBgcqhkjOOAQDBQAwYDELMAkGA1UEBhMCRVMxDzANBgNVBAgTBk1hZHJpZDEPMA0GA1UEBxMGTWFkcmlkMQwwCgYDVQQKEwNUSUQxDTALBgNVBAsTBFREQUYxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0xMzA5MjYxNjE0MjNaFw0xMzEyMjUxNjE0MjNaMGAxCzAJBgNVBAYTAkVTMQ8wDQYDVQQIEwZNYWRyaWQxDzANBgNVBAcTBk1hZHJpZDEMMAoGA1UEChMDVElEMQ0wCwYDVQQLEwRUREFGMRIwEAYDVQQDEwlsb2NhbGhvc3QwggG4MIIBLAYHKoZIzjgEATCCAR8CgYEA/X9TgR11EilS30qcLuzk5/YRt1I870QAwx4/gLZRJmlFXUAiUftZPY1Y+r/F9bow9subVWzXgTuAHTRv8mZgt2uZUKWkn5/oBHsQIsJPu6nX/rfGG/g7V+fGqKYVDwT7g/bTxR7DAjVUE1oWkTL2dfOuK2HXKu/yIgMZndFIAccCFQCXYFCPFSMLzLKSuYKi64QL8Fgc9QKBgQD34aCF1ps93su8q1w2uFe5eZSvu/o66oL5V0wLPQeCZ1FZV4661FlP5nEHEIGAtEkWcSPoTCgWE7fPCTKMyKbhPBZ6i1R8jSjgo64eK7OmdZFuo38L+iE1YvH7YnoBJDvMpPG+qFGQiaiD3+Fa5Z8GkotmXoB7VSVkAUw7/s9JKgOBhQACgYEAqZUHXF2PMbnHK1N8aKFmZ28zTwEpm8y9l4J16j4PvJUZ5+kKVOa6eFMMQJTVvNJS0zHO8UWvJ7/tAJmxG8F77QuYaB8PreF4a67CNgiuiqcJ/ea+adxU+Kva4AUreRsHZALses3nT53b/ySgkmY3GNcjPH6BHs6WCSnmOFsZX+GjITAfMB0GA1UdDgQWBBQsniZsES2ZafM0KnD3vipCTTcw8zALBgcqhkjOOAQDBQADMAAwLQIUL4bmx5KLDjFbc34ekxUWbiIyOrwCFQCCEprS07E2SdK7AhVOCGNLL6O/kw==
Then
the qnsumer sends 1 JSON notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-Act0001-UKgConn-single.json out-notification-Act0001-UKgConn-single.json
[COMP] Rejection of a notification to an HTTPS application due to untrusted certificate received from it and wrong certificate in the notification
Given
the HTTPS application is up using an untrusted certificate and will accept the incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL reverseCertificate
https://localhost:8080/notifications/oprov MIIDmTCCAoGgAwIBAgIBQjANBgkqhkiG9w0BAQQFADCBkjElMCMGA1UEAxMcbmVvU0RQIENlcnRpZmljYXRlIEF1dGhvcml0eTETMBEGA1UECBMKVmFsbGFkb2xpZDELMAkGA1UEBhMCRVMxHTAbBgkqhkiG9w0BCQEWDmpvcmdlbGdAdGlkLmVzMRcwFQYDVQQKEw5UZWxlZm9uaWNhIEkrRDEPMA0GA1UECxMGbmVvU0RQMB4XDTEzMDcyMzEzNTcyNFoXDTE4MDcyMjEzNTcyNFowgYwxHzAdBgNVBAMTFmRldi10dWdvLWJlLTAxLmhpLmluZXQxEzARBgNVBAgTClZhbGxhZG9saWQxCzAJBgNVBAYTAkVTMR0wGwYJKoZIhvcNAQkBFg5qb3JnZWxnQHRpZC5lczEXMBUGA1UEChMOVGVsZWZvbmljYSBJK0QxDzANBgNVBAsTBm5lb1NEUDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM2btiDsCL0WR2K69cIxUxQ32DOT0ld5NG4sPh7e9tcpzZuJakU4+OJoeSWu1lbqSdA2RwSxCCg5fN8jwL50wolCzBsqIAK7z8A97wwtCyUuhKUz4HCGEkpucwSa6I6bxAzkahmPA9kN8DRM41U88ihT96jJ4mV5hZqbGl4heEx3H9aKJ3BRSlEPvxJP89apLVN9xaPHv1Qk36v3l0HXvejgzft/PKdeLA2Rpw/FqfW0wtPSmdfhYUsvUSIRr7b7AEpqNk+D+YkGUXXblSftP43SBKPNj3rcoET3JwYFDUF86SOnsu3rZtux/yaCdkCP5VJNp2vc94iHaye47UAEjksCAwEAATANBgkqhkiG9w0BAQQFAAOCAQEAGkJ30xH4qIfvwCs4rg1FYVDFt9XoQoj1wSGS6R3s+fyxFKLSbF7ppPf4Lg9U5W6q8bK0LX0yOuZVY7bE5juRps/Ia70+uba4DmtDpu7wSR+9+YUpuJ69f4nct/s43KHjOIdc2tVpDYNwXD1lheNeUM71V8wslzb2XWqVWuof+upIxxw7qMtZMStfYOZV8+y95wDUonrgwrmfI+o3cmrGxMKQpjY27V7Hwk3HJ4Eoqg/PJhTTtDTBheK1VbpMnV4vQjRya8KxkKSpI5KQaAKNJ+n+uEcJGtuwm7nt/0Dyh9RhxXumFNCfQr9KljoIYC8Gjp9SN2xKdoUXith/sosBUA==
Then
the qnsumer does not send any notification to the application
And
in the logs there is an entry with data:
lvl msg
WARN (.*)Exception when delivering a HTTP notification: General SSLEngine problem(.*)
Examples:
notificationReceived
in-notification-Act0001-UKgConn-single.json
[COMP] Delivery of a notification using authentication
Given
the HTTPS application is up and will accept the authenticated incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL auth consumerKey consumerSecret reverseCertificate
https://localhost:8080/notifications/oprov Basic username password MIIDHjCCAtugAwIBAgIEC0QNRDALBgcqhkjOOAQDBQAwYDELMAkGA1UEBhMCRVMxDzANBgNVBAgTBk1hZHJpZDEPMA0GA1UEBxMGTWFkcmlkMQwwCgYDVQQKEwNUSUQxDTALBgNVBAsTBFREQUYxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0xMzA5MjYxNjE0MjNaFw0xMzEyMjUxNjE0MjNaMGAxCzAJBgNVBAYTAkVTMQ8wDQYDVQQIEwZNYWRyaWQxDzANBgNVBAcTBk1hZHJpZDEMMAoGA1UEChMDVElEMQ0wCwYDVQQLEwRUREFGMRIwEAYDVQQDEwlsb2NhbGhvc3QwggG4MIIBLAYHKoZIzjgEATCCAR8CgYEA/X9TgR11EilS30qcLuzk5/YRt1I870QAwx4/gLZRJmlFXUAiUftZPY1Y+r/F9bow9subVWzXgTuAHTRv8mZgt2uZUKWkn5/oBHsQIsJPu6nX/rfGG/g7V+fGqKYVDwT7g/bTxR7DAjVUE1oWkTL2dfOuK2HXKu/yIgMZndFIAccCFQCXYFCPFSMLzLKSuYKi64QL8Fgc9QKBgQD34aCF1ps93su8q1w2uFe5eZSvu/o66oL5V0wLPQeCZ1FZV4661FlP5nEHEIGAtEkWcSPoTCgWE7fPCTKMyKbhPBZ6i1R8jSjgo64eK7OmdZFuo38L+iE1YvH7YnoBJDvMpPG+qFGQiaiD3+Fa5Z8GkotmXoB7VSVkAUw7/s9JKgOBhQACgYEAqZUHXF2PMbnHK1N8aKFmZ28zTwEpm8y9l4J16j4PvJUZ5+kKVOa6eFMMQJTVvNJS0zHO8UWvJ7/tAJmxG8F77QuYaB8PreF4a67CNgiuiqcJ/ea+adxU+Kva4AUreRsHZALses3nT53b/ySgkmY3GNcjPH6BHs6WCSnmOFsZX+GjITAfMB0GA1UdDgQWBBQsniZsES2ZafM0KnD3vipCTTcw8zALBgcqhkjOOAQDBQADMAAwLQIUL4bmx5KLDjFbc34ekxUWbiIyOrwCFQCCEprS07E2SdK7AhVOCGNLL6O/kw==
Then
the qnsumer sends 1 JSON notification to the application with the data in notificationSent
Examples:
notificationReceived notificationSent
in-notification-Act0001-UKgConn-single.json out-notification-Act0001-UKgConn-single.json
[COMP] Delivery of a notification using wrong authentication data
Given
the HTTPS application is up and will accept the authenticated incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL auth consumerKey consumerSecret reverseCertificate
https://localhost:8080/notifications/oprov Basic username bad_password MIIDHjCCAtugAwIBAgIEC0QNRDALBgcqhkjOOAQDBQAwYDELMAkGA1UEBhMCRVMxDzANBgNVBAgTBk1hZHJpZDEPMA0GA1UEBxMGTWFkcmlkMQwwCgYDVQQKEwNUSUQxDTALBgNVBAsTBFREQUYxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0xMzA5MjYxNjE0MjNaFw0xMzEyMjUxNjE0MjNaMGAxCzAJBgNVBAYTAkVTMQ8wDQYDVQQIEwZNYWRyaWQxDzANBgNVBAcTBk1hZHJpZDEMMAoGA1UEChMDVElEMQ0wCwYDVQQLEwRUREFGMRIwEAYDVQQDEwlsb2NhbGhvc3QwggG4MIIBLAYHKoZIzjgEATCCAR8CgYEA/X9TgR11EilS30qcLuzk5/YRt1I870QAwx4/gLZRJmlFXUAiUftZPY1Y+r/F9bow9subVWzXgTuAHTRv8mZgt2uZUKWkn5/oBHsQIsJPu6nX/rfGG/g7V+fGqKYVDwT7g/bTxR7DAjVUE1oWkTL2dfOuK2HXKu/yIgMZndFIAccCFQCXYFCPFSMLzLKSuYKi64QL8Fgc9QKBgQD34aCF1ps93su8q1w2uFe5eZSvu/o66oL5V0wLPQeCZ1FZV4661FlP5nEHEIGAtEkWcSPoTCgWE7fPCTKMyKbhPBZ6i1R8jSjgo64eK7OmdZFuo38L+iE1YvH7YnoBJDvMpPG+qFGQiaiD3+Fa5Z8GkotmXoB7VSVkAUw7/s9JKgOBhQACgYEAqZUHXF2PMbnHK1N8aKFmZ28zTwEpm8y9l4J16j4PvJUZ5+kKVOa6eFMMQJTVvNJS0zHO8UWvJ7/tAJmxG8F77QuYaB8PreF4a67CNgiuiqcJ/ea+adxU+Kva4AUreRsHZALses3nT53b/ySgkmY3GNcjPH6BHs6WCSnmOFsZX+GjITAfMB0GA1UdDgQWBBQsniZsES2ZafM0KnD3vipCTTcw8zALBgcqhkjOOAQDBQADMAAwLQIUL4bmx5KLDjFbc34ekxUWbiIyOrwCFQCCEprS07E2SdK7AhVOCGNLL6O/kw==
Then
the qnsumer does not send any notification to the application
And
in the logs there is an entry with data:
lvl msg
WARN (.*)Notification response:(.*)
Examples:
notificationReceived
in-notification-Act0001-UKgConn-single.json
[COMP] Delivery of a notification using no authentication data when needed
Given
the HTTPS application is up and will accept the authenticated incoming notification
When
a JSON notification is received by the qnsumer with both the data in notificationReceived and the metadata:
notificationURL reverseCertificate
https://localhost:8080/notifications/oprov MIIDHjCCAtugAwIBAgIEC0QNRDALBgcqhkjOOAQDBQAwYDELMAkGA1UEBhMCRVMxDzANBgNVBAgTBk1hZHJpZDEPMA0GA1UEBxMGTWFkcmlkMQwwCgYDVQQKEwNUSUQxDTALBgNVBAsTBFREQUYxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0xMzA5MjYxNjE0MjNaFw0xMzEyMjUxNjE0MjNaMGAxCzAJBgNVBAYTAkVTMQ8wDQYDVQQIEwZNYWRyaWQxDzANBgNVBAcTBk1hZHJpZDEMMAoGA1UEChMDVElEMQ0wCwYDVQQLEwRUREFGMRIwEAYDVQQDEwlsb2NhbGhvc3QwggG4MIIBLAYHKoZIzjgEATCCAR8CgYEA/X9TgR11EilS30qcLuzk5/YRt1I870QAwx4/gLZRJmlFXUAiUftZPY1Y+r/F9bow9subVWzXgTuAHTRv8mZgt2uZUKWkn5/oBHsQIsJPu6nX/rfGG/g7V+fGqKYVDwT7g/bTxR7DAjVUE1oWkTL2dfOuK2HXKu/yIgMZndFIAccCFQCXYFCPFSMLzLKSuYKi64QL8Fgc9QKBgQD34aCF1ps93su8q1w2uFe5eZSvu/o66oL5V0wLPQeCZ1FZV4661FlP5nEHEIGAtEkWcSPoTCgWE7fPCTKMyKbhPBZ6i1R8jSjgo64eK7OmdZFuo38L+iE1YvH7YnoBJDvMpPG+qFGQiaiD3+Fa5Z8GkotmXoB7VSVkAUw7/s9JKgOBhQACgYEAqZUHXF2PMbnHK1N8aKFmZ28zTwEpm8y9l4J16j4PvJUZ5+kKVOa6eFMMQJTVvNJS0zHO8UWvJ7/tAJmxG8F77QuYaB8PreF4a67CNgiuiqcJ/ea+adxU+Kva4AUreRsHZALses3nT53b/ySgkmY3GNcjPH6BHs6WCSnmOFsZX+GjITAfMB0GA1UdDgQWBBQsniZsES2ZafM0KnD3vipCTTcw8zALBgcqhkjOOAQDBQADMAAwLQIUL4bmx5KLDjFbc34ekxUWbiIyOrwCFQCCEprS07E2SdK7AhVOCGNLL6O/kw==
Then
the qnsumer does not send any notification to the application
And
in the logs there is an entry with data:
lvl msg
WARN (.*)Notification response:(.*)
Examples:
notificationReceived
in-notification-Act0001-UKgConn-single.json

Last published about 5 years ago by Julio.