Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
About

This document contains the test cases that will be used for automating using CDAP integration test suite. The first pass of test will be manual and these test cases will be automated in 3.6 timeframe.

Test Scenarios for application versioning
IDScenarioStepsExpected ResultActual ResultStatus
1Snapshot versioning deployment and running services - failure
  1. Deploy Purchase app with Snapshot version
  2. Start Purchase HIstory Service
  3. Deploy updated version of the app, still with snapshot version
  4. Attempt to start the Purchase History Service
The start from step 4 should fail with 409 status code PASSED
2Snapshot versioning deployment and running services - success
  1. Deploy Purchase app with Snapshot version
  2. Start Purchase HIstory Service
  3. Deploy updated version of the app, still with snapshot version
  4. Stop the PurchaseHistory Service
  5. Attempt to start the Purchase History Service
The start from Step 5 should succeed. The new code should be in effect PASSED
3Deleting application with Snapshot versioning - failure
  1. Deploy Purchase app with Snapshot version
  2. Start Purchase HIstory Service
  3. Delete application
The delete from Step 3 should fail PASSED
4Deleting application with Snapshot versioning - success
  1. Deploy Purchase app with Snapshot version
  2. Start Purchase HIstory Service
  3. Stop Purchase History Service
  4. Delete application
The delete from Step 4 should succeed and PurchaseHistory app should not appear in the listing end point 

FAILED

There is another app with artifact version is created.

Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7334

5Concurrent non-snapshot services - success
  1. Deploy Purchase app with non-Snapshot version
  2. Start Purchase HIstory Service
  3. Deploy updated version of the app, still with non-snapshot version
  4. Attempt to start the Purchase History Service
  5. Route traffic to both services

Both services should start, traffic should be routeable to both the instance of the running services

 PASSED
6Setting routing configuration - failure
  1. Deploy Purchase app with non-snapshot version
  2. Configure 80% of traffic for Purchase History service
The configuration call in step 2 should fail, because it is not 100% traffic 

PASSED.

Faced an issue without deploying a versioned app.

Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7335

 

Other issues while testing

Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7336

Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7339

 

7Setting routing configuration - failure
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Configure traffic to Purchase History Service v1-60%, v2 - 30%
The configuration call in step 3 should fail, because it is not 100% traffic 

PASSED.

Faced in a issue without deploying versioned app

Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7335

Other issues while testing

Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7336

Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7339

8Setting routing configuration - success
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Configure traffic to Purchase History Service v1-60%, v2 - 40%
The configuration in step 3 should succeed 

PASSED

 

9Setting routing traffic - success
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Configure traffic to Purchase History Service v1-60%, v2 - 40%
  4. Send 100 requests to the non versioned endpoint for service

The traffic to v1 should be around 60%

The traffic to v2 should be around 40%

 

PASSED.

Percentages were

Run 1: 63 - 37

Run 2: 62 - 38

Run 3: 66 - 34

10Deleting app - versioned
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Delete app with version v1
  4. Start services with version v2

Should be able to start the services and route traffic

(What should be the expected behavior of routing traffic after one version is deleted?)

Sree: Delete should fail if there is a route for the version to be deleted.

 PASSED
11Deleting app
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Use the non-versioned end-point to delete the app
Should delete all versions of the app 

FAILED

Non versioned delete endpoint doesn't exist

12Namespace delete - failure
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Start services with v1 app
  4. Start services with v2 app
  5. Delete namespace in which the app is deployed
The namespace delete should fail PASSED
13Namespace delete - success
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Start services with v1 app
  4. Start services with v2 app
  5. Stop services with v1
  6. Stop services with v2
  7. Delete namespace in which the app is deployed
The namespace delete should succeed and on recreating the namespace the application should not exist 

FAILED

Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7340

14Deterministic routing - success
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Configure traffic to Purchase History Service v1-60%, v2 - 40%
  4. Send requests to v1 service
  5. Send requests to v2 service
v1 requests should go to v1 service, and v2 requests should go to v2 service 

Cannot verify. The endpoints for deterministic routing is not present

As a workaround:

  1. Set the routing percetage to 100, 0 to old vs new and send requests to non-versioned endpoint Ex:

    v3/namespaces/default/apps/WordCount/services/RetrieveCounts/methods/greeting

  2. And flip the percentage to 0, 100 to redirect all traffic to new endpoint

 

15No route configuration
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Send request without setting route config
Requests should got to v1 or v2 based on default behavior configured. (Note: this test will fail now since this is not yet implemented
Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7271
)
 Not implemented
16Invalid route configuration
  1. Deploy Purchase app with non-snapshot version - v1
  2. Deploy Purchase app with non-snapshot version - v2
  3. Set route config for service with versions (v1, v2, v3) where v3 is non-existing version
The request should fail with Bad Request 

FAILED

Jira Legacy
serverCask Community Issue Tracker
serverId45b48dee-c8d6-34f0-9990-e6367dc2fe4b
keyCDAP-7337