@@ -20,7 +20,7 @@ import { test } from '@e2e/utils/test';
2020import { expect } from '@playwright/test' ;
2121
2222import { API_SECRETS } from '@/config/constant' ;
23- import type { APISIXType } from '@/types/schema/apisix' ;
23+
2424
2525let createdSecretId : string ;
2626const manager = 'aws' ;
@@ -41,7 +41,7 @@ test.describe('CRUD secret with all fields (AWS)', () => {
4141 }
4242 } ) ;
4343
44- test ( 'should create a secret with all fields' , async ( ) => {
44+ test ( 'should create a secret with all fields' , async ( { page } ) => {
4545 await test . step ( 'create secret via API' , async ( ) => {
4646 await e2eReq . put ( `${ API_SECRETS } /${ manager } /${ createdSecretId } ` , {
4747 access_key_id : 'AKIAIOSFODNN7EXAMPLE' ,
@@ -51,54 +51,21 @@ test.describe('CRUD secret with all fields (AWS)', () => {
5151 endpoint_url : 'https://secretsmanager.us-west-2.amazonaws.com' ,
5252 } ) ;
5353 } ) ;
54-
55- await test . step ( 'verify secret was created via API' , async ( ) => {
56- const secret = await e2eReq
57- . get < unknown , APISIXType [ 'RespSecretDetail' ] > (
58- `${ API_SECRETS } /aws/${ createdSecretId } `
59- )
60- . then ( ( v ) => v . data ) ;
61-
62- expect ( secret . value ) . toBeDefined ( ) ;
63- // Note: manager is not in the response, it's part of the ID (aws/id)
64- const awsSecret = secret . value as APISIXType [ 'AWSSecret' ] ;
65- expect ( awsSecret . access_key_id ) . toBe ( 'AKIAIOSFODNN7EXAMPLE' ) ;
66- expect ( awsSecret . secret_access_key ) . toBe (
67- 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
68- ) ;
69- expect ( awsSecret . session_token ) . toBe ( 'test-session-token-123' ) ;
70- expect ( awsSecret . region ) . toBe ( 'us-west-2' ) ;
71- expect ( awsSecret . endpoint_url ) . toBe (
72- 'https://secretsmanager.us-west-2.amazonaws.com'
73- ) ;
54+ await test . step ( 'verify secret appears in UI' , async ( ) => {
55+ await secretsPom . toIndex ( page ) ;
56+ await secretsPom . isIndexPage ( page ) ;
57+ const row = page . locator ( 'tr' ) . filter ( { hasText : createdSecretId } ) ;
58+ await expect ( row ) . toBeVisible ( ) ;
7459 } ) ;
7560 } ) ;
7661
7762 test ( 'should read/view the secret details' , async ( { page } ) => {
78- await test . step ( 'verify secret can be retrieved via API' , async ( ) => {
79- const secret = await e2eReq
80- . get < unknown , APISIXType [ 'RespSecretDetail' ] > (
81- `${ API_SECRETS } /${ manager } /${ createdSecretId } `
82- )
83- . then ( ( v ) => v . data ) ;
84-
85- expect ( secret . value ?. id ) . toContain ( createdSecretId ) ;
86- // Note: manager is not in the response, it's part of the ID
87- const awsSecret = secret . value as APISIXType [ 'AWSSecret' ] ;
88- expect ( awsSecret . access_key_id ) . toBe ( 'AKIAIOSFODNN7EXAMPLE' ) ;
89- expect ( awsSecret . secret_access_key ) . toBe ( 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' ) ;
90- expect ( awsSecret . session_token ) . toBe ( 'test-session-token-123' ) ;
91- expect ( awsSecret . region ) . toBe ( 'us-west-2' ) ;
92- expect ( awsSecret . endpoint_url ) . toBe ( 'https://secretsmanager.us-west-2.amazonaws.com' ) ;
93- } ) ;
94-
9563 await test . step ( 'navigate to secret details page and verify UI' , async ( ) => {
9664 await secretsPom . toIndex ( page ) ;
9765 await secretsPom . isIndexPage ( page ) ;
9866
9967 const row = page . locator ( 'tr' ) . filter ( { hasText : createdSecretId } ) ;
10068 await row . getByRole ( 'button' , { name : 'View' } ) . click ( ) ;
101-
10269 await secretsPom . isDetailPage ( page ) ;
10370
10471 const pageContent = await page . textContent ( 'body' ) ;
@@ -148,25 +115,13 @@ test.describe('CRUD secret with all fields (AWS)', () => {
148115 await secretsPom . isDetailPage ( page ) ;
149116 } ) ;
150117
151- await test . step ( 'verify secret was updated' , async ( ) => {
152- const pageContent = await page . textContent ( 'body' ) ;
153- // Verify we're still on detail page with proper fields
154- expect ( pageContent ) . toContain ( 'Secret Manager' ) ;
155- expect ( pageContent ) . toContain ( createdSecretId ) ;
156-
157- // Verify via API
158- const secret = await e2eReq
159- . get < unknown , APISIXType [ 'RespSecretDetail' ] > (
160- `${ API_SECRETS } /${ manager } /${ createdSecretId } `
161- )
162- . then ( ( v ) => v . data ) ;
163-
164- const awsSecret = secret . value as APISIXType [ 'AWSSecret' ] ;
165- expect ( awsSecret . access_key_id ) . toBe ( updatedAccessKeyId ) ;
166- expect ( awsSecret . secret_access_key ) . toBe ( updatedSecretAccessKey ) ;
167- expect ( awsSecret . session_token ) . toBe ( updatedSessionToken ) ;
168- expect ( awsSecret . region ) . toBe ( updatedRegion ) ;
169- expect ( awsSecret . endpoint_url ) . toBe ( updatedEndpointUrl ) ;
118+ await test . step ( 'verify secret was updated via UI' , async ( ) => {
119+ // Check the actual field values in the detail page
120+ await expect ( page . getByLabel ( 'Access Key ID' ) ) . toHaveValue ( updatedAccessKeyId ) ;
121+ await expect ( page . getByLabel ( 'Secret Access Key' ) ) . toHaveValue ( updatedSecretAccessKey ) ;
122+ await expect ( page . getByLabel ( 'Session Token' ) ) . toHaveValue ( updatedSessionToken ) ;
123+ await expect ( page . getByLabel ( 'Region' ) ) . toHaveValue ( updatedRegion ) ;
124+ await expect ( page . getByLabel ( 'Endpoint URL' ) ) . toHaveValue ( updatedEndpointUrl ) ;
170125 } ) ;
171126 } ) ;
172127
0 commit comments