diff --git a/.postman.json b/.postman.json deleted file mode 100644 index 7595ec5220..0000000000 --- a/.postman.json +++ /dev/null @@ -1,446 +0,0 @@ -{ - "info": { - "name": "OBP-API DirectLogin Tests", - "description": "Tests for OBP-API DirectLogin authentication including new consumer/user retrieval methods", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_postman_id": "obp-api-directlogin-tests", - "version": "1.0.0" - }, - "variable": [ - { - "key": "baseUrl", - "value": "http://localhost:8086", - "type": "string" - }, - { - "key": "apiVersion", - "value": "v5.1.0", - "type": "string" - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "exec": [ - "// Set default values if not already set", - "if (!pm.environment.get('consumer_key')) {", - " pm.environment.set('consumer_key', 'test-consumer-key');", - "}", - "if (!pm.environment.get('username')) {", - " pm.environment.set('username', 'hongwei');", - "}", - "if (!pm.environment.get('password')) {", - " pm.environment.set('password', 'hongwei@tesobe.comhongwei@tesobe.com');", - "}" - ] - } - } - ], - "item": [ - { - "name": "Health & Discovery", - "item": [ - { - "name": "API Health Check", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}"] - } - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('API is reachable', function () {", - " pm.expect([200, 404]).to.include(pm.response.code);", - "});" - ], - "type": "text/javascript" - } - } - ] - }, - { - "name": "Get API Info", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}/root", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}", "root"] - } - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('Root endpoint responds', function () {", - " pm.response.to.have.status(200);", - "});", - "pm.test('Response has API info', function () {", - " var json = pm.response.json();", - " pm.expect(json).to.have.property('version');", - "});" - ], - "type": "text/javascript" - } - } - ] - } - ] - }, - { - "name": "DirectLogin Authentication", - "item": [ - { - "name": "DirectLogin - Get Token", - "request": { - "method": "POST", - "header": [ - { - "key": "DirectLogin", - "value": "username={{username}},password={{password}},consumer_key={{consumer_key}}", - "type": "text" - } - ], - "url": { - "raw": "{{baseUrl}}/my/logins/direct", - "host": ["{{baseUrl}}"], - "path": ["my", "logins", "direct"] - } - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('DirectLogin successful', function () {", - " pm.response.to.have.status(201);", - "});", - "pm.test('Token received', function () {", - " var json = pm.response.json();", - " pm.expect(json).to.have.property('token');", - " pm.environment.set('directlogin_token', json.token);", - "});", - "pm.test('Consumer ID present', function () {", - " var json = pm.response.json();", - " pm.expect(json).to.have.property('consumer_id');", - " pm.environment.set('consumer_id', json.consumer_id);", - "});" - ], - "type": "text/javascript" - } - } - ] - }, - { - "name": "Get Current User (with DirectLogin token)", - "request": { - "method": "GET", - "header": [ - { - "key": "Authorization", - "value": "DirectLogin token={{directlogin_token}}", - "type": "text" - } - ], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}/users/current", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}", "users", "current"] - } - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('User info retrieved', function () {", - " pm.response.to.have.status(200);", - "});", - "pm.test('User has required fields', function () {", - " var json = pm.response.json();", - " pm.expect(json).to.have.property('user_id');", - " pm.expect(json).to.have.property('username');", - " pm.expect(json).to.have.property('email');", - " pm.environment.set('user_id', json.user_id);", - "});" - ], - "type": "text/javascript" - } - } - ] - }, - { - "name": "Test Consumer Retrieval (Internal)", - "request": { - "method": "GET", - "header": [ - { - "key": "Authorization", - "value": "DirectLogin token={{directlogin_token}}", - "type": "text" - } - ], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}/users/current", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}", "users", "current"] - }, - "description": "This tests that the new getConsumerFromDirectLoginToken method works correctly by verifying the token is valid" - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('Token validation successful (consumer retrieved)', function () {", - " pm.response.to.have.status(200);", - "});", - "pm.test('Consumer context available', function () {", - " // If we get a 200, it means the consumer was successfully retrieved from token", - " pm.expect(pm.response.code).to.equal(200);", - "});" - ], - "type": "text/javascript" - } - } - ] - } - ] - }, - { - "name": "API Operations with DirectLogin", - "item": [ - { - "name": "Get Banks", - "request": { - "method": "GET", - "header": [ - { - "key": "Authorization", - "value": "DirectLogin token={{directlogin_token}}", - "type": "text" - } - ], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}/banks", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}", "banks"] - } - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('Banks retrieved', function () {", - " pm.response.to.have.status(200);", - "});", - "pm.test('Banks array present', function () {", - " var json = pm.response.json();", - " pm.expect(json).to.have.property('banks');", - " pm.expect(json.banks).to.be.an('array');", - " if (json.banks.length > 0) {", - " pm.environment.set('bank_id', json.banks[0].id);", - " }", - "});" - ], - "type": "text/javascript" - } - } - ] - }, - { - "name": "Get My Accounts", - "request": { - "method": "GET", - "header": [ - { - "key": "Authorization", - "value": "DirectLogin token={{directlogin_token}}", - "type": "text" - } - ], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}/my/accounts", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}", "my", "accounts"] - } - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('Accounts retrieved', function () {", - " pm.response.to.have.status(200);", - "});", - "pm.test('Accounts array present', function () {", - " var json = pm.response.json();", - " pm.expect(json).to.have.property('accounts');", - " pm.expect(json.accounts).to.be.an('array');", - "});" - ], - "type": "text/javascript" - } - } - ] - } - ] - }, - { - "name": "Token Validation Tests", - "item": [ - { - "name": "Invalid Token Test", - "request": { - "method": "GET", - "header": [ - { - "key": "Authorization", - "value": "DirectLogin token=invalid-token-12345", - "type": "text" - } - ], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}/users/current", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}", "users", "current"] - } - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('Invalid token rejected', function () {", - " pm.expect([401, 403]).to.include(pm.response.code);", - "});", - "pm.test('Error message present', function () {", - " var json = pm.response.json();", - " pm.expect(json).to.have.property('message');", - "});" - ], - "type": "text/javascript" - } - } - ] - }, - { - "name": "Missing Token Test", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}/users/current", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}", "users", "current"] - } - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('Missing token rejected', function () {", - " pm.expect([401, 403]).to.include(pm.response.code);", - "});" - ], - "type": "text/javascript" - } - } - ] - } - ] - }, - { - "name": "New Methods Validation", - "item": [ - { - "name": "Verify Consumer Context (Multiple Requests)", - "request": { - "method": "GET", - "header": [ - { - "key": "Authorization", - "value": "DirectLogin token={{directlogin_token}}", - "type": "text" - } - ], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}/banks", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}", "banks"] - }, - "description": "Tests that getConsumerFromDirectLoginToken works consistently across multiple requests" - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('Consumer context maintained', function () {", - " pm.response.to.have.status(200);", - "});", - "pm.test('Response time acceptable', function () {", - " pm.expect(pm.response.responseTime).to.be.below(2000);", - "});" - ], - "type": "text/javascript" - } - } - ] - }, - { - "name": "Verify User Context (Multiple Requests)", - "request": { - "method": "GET", - "header": [ - { - "key": "Authorization", - "value": "DirectLogin token={{directlogin_token}}", - "type": "text" - } - ], - "url": { - "raw": "{{baseUrl}}/obp/{{apiVersion}}/users/current", - "host": ["{{baseUrl}}"], - "path": ["obp", "{{apiVersion}}", "users", "current"] - }, - "description": "Tests that getUserFromDirectLoginToken works consistently across multiple requests" - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('User context maintained', function () {", - " pm.response.to.have.status(200);", - "});", - "pm.test('User ID consistent', function () {", - " var json = pm.response.json();", - " var savedUserId = pm.environment.get('user_id');", - " if (savedUserId) {", - " pm.expect(json.user_id).to.equal(savedUserId);", - " }", - "});" - ], - "type": "text/javascript" - } - } - ] - } - ] - } - ] -} diff --git a/.postman_environment.json b/.postman_environment.json deleted file mode 100644 index efbaa386ec..0000000000 --- a/.postman_environment.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "OBP-API Local", - "values": [ - { - "key": "baseUrl", - "value": "http://localhost:8086", - "enabled": true - }, - { - "key": "apiVersion", - "value": "v5.1.0", - "enabled": true - }, - { - "key": "username", - "value": "susan.uk.29@example.com", - "enabled": true - }, - { - "key": "password", - "value": "2b78e81", - "enabled": true - }, - { - "key": "consumer_key", - "value": "res2r5eiexq2znnu54gy1bj0d0yz0noqegiugvtr", - "enabled": true - } - ] -} diff --git a/.postman_simple.json b/.postman_simple.json deleted file mode 100644 index f6fb55e44f..0000000000 --- a/.postman_simple.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "info": { - "name": "OBP-API DirectLogin Tests - Simple", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - { - "name": "Health Check", - "request": { - "method": "GET", - "header": [], - "url": "http://localhost:8086/obp/v5.1.0/root" - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('API responds', function () {", - " pm.response.to.have.status(200);", - "});" - ] - } - } - ] - }, - { - "name": "DirectLogin - Get Token", - "request": { - "method": "POST", - "header": [ - { - "key": "DirectLogin", - "value": "username=hongwei,password=hongwei@tesobe.comhongwei@tesobe.com,consumer_key=ldok3nlci2voe0cnudk3onk2emkdy3myfcocgoy3" - } - ], - "url": "http://localhost:8086/my/logins/direct" - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('DirectLogin successful', function () {", - " pm.response.to.have.status(201);", - "});", - "pm.test('Token received', function () {", - " var json = pm.response.json();", - " pm.expect(json).to.have.property('token');", - " pm.environment.set('token', json.token);", - "});" - ] - } - } - ] - }, - { - "name": "Get Current User", - "request": { - "method": "GET", - "header": [ - { - "key": "Authorization", - "value": "DirectLogin token={{token}}" - } - ], - "url": "http://localhost:8086/obp/v5.1.0/users/current" - }, - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('User retrieved', function () {", - " pm.response.to.have.status(200);", - "});" - ] - } - } - ] - } - ] -}