Project Number Date
Lakeside Mutual - Customer Self-Service - API and Database(test) 676b8b35-c7c3-4fad-8760-e153edbc1169 06 Mar 2022, 20:40

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
CSS-Accept-DB - Workflow 50 0 0 0 0 50 8 0 8 3.732 Passed
Feature CSS-Accept-DB - Workflow
0.008
Before io.virtualan.cucumblan.core.BaseStepDefinition.before(io.cucumber.java.Scenario) 0.456
Before io.virtualan.cucumblan.core.DBBaseStepDefinition.before(io.cucumber.java.Scenario) 0.040
Before io.virtualan.cucumblan.core.MsgBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Given provided all the feature level parameters from file 0.008
{
    "password": "xxxxxxxxxxxx",
    "email": "admin@example.com"
}
1.356
Before io.virtualan.cucumblan.core.BaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.DBBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.MsgBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Given as a insurance user perform login api action 0.000
And add content type with given header params 0.051
contentType application/json
And create login information with given input 0.001
password [password]
email [email]
{
    "password": "1password",
    "email": "admin@example.com"
}
When logging in using post application/json in /auth resource on cssapi 0.858
{
    "AcceptContentType": "application/json",
    "resource": "http://microservices.virtualandemo.com:8080/auth",
    "context": {
        "password": "xxxxxxxxxxxx",
        "email": "admin@example.com"
    },
    "url": "http://microservices.virtualandemo.com:8080"
}
Then the status code is 200 0.033
{
    "password": "xxxxxxxxxxxx",
    "STATUS_CODE": "200",
    "email": "admin@example.com"
}
And verify user email information includes following in the response 0.389
email [email]
{
  "email" : "admin@example.com",
  "token" : "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA"
}
And store token as key and api's token as value 0.020
0.323
Before io.virtualan.cucumblan.core.BaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.DBBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.MsgBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Given a user perform a api action 0.000
And add request with given header params 0.000
contentType application/json
X-Auth-Token [token]
When a user get application/json in /user resource on cssapi 0.102
{
    "AcceptContentType": "application/json",
    "resource": "http://microservices.virtualandemo.com:8080/user",
    "context": {
        "password": "xxxxxxxxxxxx",
        "STATUS_CODE": "200",
        "email": "admin@example.com",
        "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA"
    },
    "url": "http://microservices.virtualandemo.com:8080"
}
Then the status code is 200 0.001
{
    "password": "xxxxxxxxxxxx",
    "STATUS_CODE": "200",
    "email": "admin@example.com",
    "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA"
}
And verify across response includes following in the response 0.021
email [email]
{
  "email" : "admin@example.com",
  "customerId" : "rgpp0wkpec"
}
And store customerId as key and api's customerId as value 0.016
And evaluate key as expiryDate and SUBSTITUTE(TEXT(NOW()+365, "yyyy-mm-dd HH:mm:ss"), " ", "T") as function value 0.172
And evaluate key as startDate and TEXT(TODAY(),"yyyy-mm-dd") as function value 0.005
0.210
Before io.virtualan.cucumblan.core.BaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.DBBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.MsgBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Given a user perform a api action 0.000
And add request with given header params 0.000
contentType application/json
X-Auth-Token [token]
When a user get application/json in /customers/[customerId] resource on cssapi 0.090
{
    "AcceptContentType": "application/json",
    "resource": "http://microservices.virtualandemo.com:8080/customers/rgpp0wkpec",
    "context": {
        "expiryDate": "2023-03-06T20:40:22",
        "password": "xxxxxxxxxxxx",
        "customerId": "rgpp0wkpec",
        "STATUS_CODE": "200",
        "email": "admin@example.com",
        "startDate": "2022-03-06",
        "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA"
    },
    "url": "http://microservices.virtualandemo.com:8080"
}
Then the status code is 200 0.001
{
    "expiryDate": "2023-03-06T20:40:22",
    "password": "xxxxxxxxxxxx",
    "customerId": "rgpp0wkpec",
    "STATUS_CODE": "200",
    "email": "admin@example.com",
    "startDate": "2022-03-06",
    "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA"
}
And verify across response includes following in the response 0.016
firstname Max
{
  "customerId" : "rgpp0wkpec",
  "firstname" : "Max",
  "lastname" : "Mustermann",
  "birthday" : "1990-01-01T00:00:00.000+00:00",
  "streetAddress" : "Oberseestrasse 10",
  "postalCode" : "8640",
  "city" : "Rapperswil",
  "email" : "admin@example.com",
  "phoneNumber" : "055 222 4111",
  "moveHistory" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://microservices.virtualandemo.com:8080/customers/rgpp0wkpec"
    },
    "address.change" : {
      "href" : "http://microservices.virtualandemo.com:8080/customers/rgpp0wkpec/address"
    }
  }
}
And store customerId as key and api's customerId as value 0.015
And store firstname as key and api's firstname as value 0.015
And store lastname as key and api's lastname as value 0.018
And store streetAddress as key and api's streetAddress as value 0.016
And store postalCode as key and api's postalCode as value 0.014
And store city as key and api's city as value 0.015
0.169
Before io.virtualan.cucumblan.core.BaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.DBBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.MsgBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Given a user perform a api action 0.000
And add request with given header params 0.000
contentType application/json
X-Auth-Token [token]
And create api with given input 0.000
customerInfo.firstname [firstname]
customerInfo.customerId [customerId]
customerInfo.contactAddress.streetAddress [streetAddress]
customerInfo.contactAddress.city [city]
customerInfo.contactAddress.postalCode [postalCode]
customerInfo.billingAddress.streetAddress [streetAddress]
customerInfo.billingAddress.city [city]
customerInfo.billingAddress.postalCode [postalCode]
customerInfo.lastname [lastname]
insuranceOptions.deductible.amount i~500
insuranceOptions.deductible.currency CHF
insuranceOptions.insuranceType Life Insurance
insuranceOptions.startDate 2021-06-20
{
    "customerInfo": {
        "firstname": "Max",
        "customerId": "rgpp0wkpec",
        "contactAddress": {
            "streetAddress": "Oberseestrasse 10",
            "city": "Rapperswil",
            "postalCode": "8640"
        },
        "billingAddress": {
            "streetAddress": "Oberseestrasse 10",
            "city": "Rapperswil",
            "postalCode": "8640"
        },
        "lastname": "Mustermann"
    },
    "insuranceOptions": {
        "deductible": {
            "amount": 500,
            "currency": "CHF"
        },
        "insuranceType": "Life Insurance",
        "startDate": "2021-06-20"
    }
}
When a user post application/json in /insurance-quote-requests resource on cssapi 0.149
{
    "AcceptContentType": "application/json",
    "resource": "http://microservices.virtualandemo.com:8080/insurance-quote-requests",
    "context": {
        "expiryDate": "2023-03-06T20:40:22",
        "password": "xxxxxxxxxxxx",
        "firstname": "Max",
        "streetAddress": "Oberseestrasse 10",
        "city": "Rapperswil",
        "postalCode": "8640",
        "customerId": "rgpp0wkpec",
        "STATUS_CODE": "200",
        "email": "admin@example.com",
        "startDate": "2022-03-06",
        "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA",
        "lastname": "Mustermann"
    },
    "url": "http://microservices.virtualandemo.com:8080"
}
Then the status code is 200 0.002
{
    "expiryDate": "2023-03-06T20:40:22",
    "password": "xxxxxxxxxxxx",
    "firstname": "Max",
    "streetAddress": "Oberseestrasse 10",
    "city": "Rapperswil",
    "postalCode": "8640",
    "customerId": "rgpp0wkpec",
    "STATUS_CODE": "200",
    "email": "admin@example.com",
    "startDate": "2022-03-06",
    "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA",
    "lastname": "Mustermann"
}
And store quoteId as key and api's id as value 0.015
0.138
Before io.virtualan.cucumblan.core.BaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.DBBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.MsgBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Given a user perform a api action 0.000
And add request with given header params 0.000
contentType application/json
X-Auth-Token [token]
And update api with given input 0.000
insurancePremium.amount i~500
insurancePremium.currency CHF
policyLimit.amount i~50000
policyLimit.currency CHF
status QUOTE_RECEIVED
expirationDate [expiryDate].000Z
{
  "insurancePremium": {
    "amount": 500,
    "currency": "CHF"
  },
  "policyLimit": {
    "amount": 50000,
    "currency": "CHF"
  },
  "status": "QUOTE_RECEIVED",
  "expirationDate": "2023-03-06T20:40:22.000Z"
}
When a user patch application/json in /insurance-quote-requests/[quoteId] resource on quoteapi 0.111
{
    "AcceptContentType": "application/json",
    "resource": "http://microservices.virtualandemo.com:8090/insurance-quote-requests/466",
    "context": {
        "firstname": "Max",
        "city": "Rapperswil",
        "postalCode": "8640",
        "STATUS_CODE": "200",
        "quoteId": "466",
        "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA",
        "lastname": "Mustermann",
        "expiryDate": "2023-03-06T20:40:22",
        "password": "xxxxxxxxxxxx",
        "streetAddress": "Oberseestrasse 10",
        "customerId": "rgpp0wkpec",
        "email": "admin@example.com",
        "startDate": "2022-03-06"
    },
    "url": "http://microservices.virtualandemo.com:8090"
}
Then the status code is 200 0.002
{
    "firstname": "Max",
    "city": "Rapperswil",
    "postalCode": "8640",
    "STATUS_CODE": "200",
    "quoteId": "466",
    "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA",
    "lastname": "Mustermann",
    "expiryDate": "2023-03-06T20:40:22",
    "password": "xxxxxxxxxxxx",
    "streetAddress": "Oberseestrasse 10",
    "customerId": "rgpp0wkpec",
    "email": "admin@example.com",
    "startDate": "2022-03-06"
}
And verify across response includes following in the response 0.022
id [quoteId]
{
  "id" : 466,
  "date" : "2022-03-07T02:40:22.136+00:00",
  "statusHistory" : [ {
    "date" : "2022-03-07T02:40:22.136+00:00",
    "status" : "REQUEST_SUBMITTED"
  }, {
    "date" : "2022-03-07T02:40:22.311+00:00",
    "status" : "QUOTE_RECEIVED"
  } ],
  "customerInfo" : {
    "customerId" : "rgpp0wkpec",
    "firstname" : "Max",
    "lastname" : "Mustermann",
    "contactAddress" : {
      "streetAddress" : "Oberseestrasse 10",
      "postalCode" : "8640",
      "city" : "Rapperswil"
    },
    "billingAddress" : {
      "streetAddress" : "Oberseestrasse 10",
      "postalCode" : "8640",
      "city" : "Rapperswil"
    }
  },
  "insuranceOptions" : {
    "startDate" : "2021-06-20T00:00:00.000+00:00",
    "insuranceType" : "Life Insurance",
    "deductible" : {
      "amount" : 500.00,
      "currency" : "CHF"
    }
  },
  "insuranceQuote" : {
    "expirationDate" : "2023-03-06T20:40:22.000+00:00",
    "insurancePremium" : {
      "amount" : 500,
      "currency" : "CHF"
    },
    "policyLimit" : {
      "amount" : 50000,
      "currency" : "CHF"
    }
  }
}
0.156
Before io.virtualan.cucumblan.core.BaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.DBBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.MsgBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Given a user perform a api action 0.000
And add request with given header params 0.000
contentType application/json
X-Auth-Token [token]
And update api with given input 0.000
status QUOTE_ACCEPTED
{"status": "QUOTE_ACCEPTED"}
When a user patch application/json in /insurance-quote-requests/[quoteId] resource on cssapi 0.132
{
    "AcceptContentType": "application/json",
    "resource": "http://microservices.virtualandemo.com:8080/insurance-quote-requests/466",
    "context": {
        "firstname": "Max",
        "city": "Rapperswil",
        "postalCode": "8640",
        "STATUS_CODE": "200",
        "quoteId": "466",
        "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA",
        "lastname": "Mustermann",
        "expiryDate": "2023-03-06T20:40:22",
        "password": "xxxxxxxxxxxx",
        "streetAddress": "Oberseestrasse 10",
        "customerId": "rgpp0wkpec",
        "email": "admin@example.com",
        "startDate": "2022-03-06"
    },
    "url": "http://microservices.virtualandemo.com:8080"
}
Then the status code is 200 0.000
{
    "firstname": "Max",
    "city": "Rapperswil",
    "postalCode": "8640",
    "STATUS_CODE": "200",
    "quoteId": "466",
    "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkBleGFtcGxlLmNvbSIsImNyZWF0ZWQiOjE2NDY2MjA4MjEwMjAsImV4cCI6MTY0NzIyNTYyMX0.20mHq_jgaV9r2BXmHzPzwHmfmabpmi-4XC0-rKowG2EThYWOTA9fwWA_ZUwVucaTDO-j8V9mrL93krNxN3tioA",
    "lastname": "Mustermann",
    "expiryDate": "2023-03-06T20:40:22",
    "password": "xxxxxxxxxxxx",
    "streetAddress": "Oberseestrasse 10",
    "customerId": "rgpp0wkpec",
    "email": "admin@example.com",
    "startDate": "2022-03-06"
}
And verify api response csvson includes in the response 0.002
statusHistory/status
REQUEST_SUBMITTED|QUOTE_RECEIVED|QUOTE_ACCEPTED|
[{"statusHistory":[{"status":"REQUEST_SUBMITTED"},{"status":"QUOTE_RECEIVED"},{"status":"QUOTE_ACCEPTED"}]}]
{"date":"2022-03-07T02:40:22.136+00:00","statusHistory":[{"date":"2022-03-07T02:40:22.136+00:00","status":"REQUEST_SUBMITTED"},{"date":"2022-03-07T02:40:22.311+00:00","status":"QUOTE_RECEIVED"},{"date":"2022-03-07T02:40:22.463+00:00","status":"QUOTE_ACCEPTED"}],"customerInfo":{"firstname":"Max","customerId":"rgpp0wkpec","contactAddress":{"streetAddress":"Oberseestrasse 10","city":"Rapperswil","postalCode":"8640"},"billingAddress":{"streetAddress":"Oberseestrasse 10","city":"Rapperswil","postalCode":"8640"},"lastname":"Mustermann"},"insuranceOptions":{"deductible":{"amount":500,"currency":"CHF"},"insuranceType":"Life Insurance","startDate":"2021-06-20"},"id":466,"insuranceQuote":{"insurancePremium":{"amount":500,"currency":"CHF"},"policyLimit":{"amount":50000,"currency":"CHF"},"expirationDate":"2023-03-06T20:40:22.000+00:00"}}
And verify across response includes following in the response 0.019
id [quoteId]
{
  "id" : 466,
  "date" : "2022-03-07T02:40:22.136+00:00",
  "statusHistory" : [ {
    "date" : "2022-03-07T02:40:22.136+00:00",
    "status" : "REQUEST_SUBMITTED"
  }, {
    "date" : "2022-03-07T02:40:22.311+00:00",
    "status" : "QUOTE_RECEIVED"
  }, {
    "date" : "2022-03-07T02:40:22.463+00:00",
    "status" : "QUOTE_ACCEPTED"
  } ],
  "customerInfo" : {
    "customerId" : "rgpp0wkpec",
    "firstname" : "Max",
    "lastname" : "Mustermann",
    "contactAddress" : {
      "streetAddress" : "Oberseestrasse 10",
      "postalCode" : "8640",
      "city" : "Rapperswil"
    },
    "billingAddress" : {
      "streetAddress" : "Oberseestrasse 10",
      "postalCode" : "8640",
      "city" : "Rapperswil"
    }
  },
  "insuranceOptions" : {
    "startDate" : "2021-06-20",
    "insuranceType" : "Life Insurance",
    "deductible" : {
      "amount" : 500.00,
      "currency" : "CHF"
    }
  },
  "insuranceQuote" : {
    "expirationDate" : "2023-03-06T20:40:22.000+00:00",
    "insurancePremium" : {
      "amount" : 500.00,
      "currency" : "CHF"
    },
    "policyLimit" : {
      "amount" : 50000.00,
      "currency" : "CHF"
    }
  }
}
1.369
Before io.virtualan.cucumblan.core.BaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.DBBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Before io.virtualan.cucumblan.core.MsgBaseStepDefinition.before(io.cucumber.java.Scenario) 0.000
Given as a user perform sql query action 0.000
When read details on the given query on cssdb 1.369
select iqr.id, iq.insurance_premium_amount, iq.insurance_premium_currency, iq.policy_limit_amount from insurancequotes iq INNER JOIN insurancequoterequests iqr on iq.id = iqr.insurance_quote_id and iqr.id = [quoteId]
{
    "resource": "cssdb",
    "sql": "select iqr.id, iq.insurance_premium_amount, iq.insurance_premium_currency, iq.policy_limit_amount from insurancequotes iq INNER JOIN insurancequoterequests iqr on iq.id = iqr.insurance_quote_id and iqr.id  =  466"
}
[{"id":466,"insurance_premium_amount":500.00,"insurance_premium_currency":"CHF","policy_limit_amount":50000.00}]
Then validate information on the given details on cssdb 0.000
id,insurance_premium_amount, insurance_premium_currency, policy_limit_amount
i~[quoteId],d~500.00,CHF,d~50000.00
[{
    "policy_limit_amount": 50000,
    "insurance_premium_amount": 500,
    "id": 466,
    "insurance_premium_currency": "CHF"
}]
[{
    "id": 466,
    "insurance_premium_amount": 500,
    "insurance_premium_currency": "CHF",
    "policy_limit_amount": 50000
}]
And store policy_limit_amount as key and query's [0].policy_limit_amount as value 0.000