import { resolve } from 'path' ; import { FtrConfigProviderContext } from '@kbn/test' ; import { services } from './services' ; export default async function ( { readConfigFile } ) { const xPackAPITestsConfig = await readConfigFile ( require . resolve ( '../api_integration/config.ts' ) ) ; const kibanaPort = xPackAPITestsConfig . get ( 'servers.kibana.port' ) ; const idpPath = resolve ( __dirname , './fixtures/saml/idp_metadata.xml' ) ; return { testFiles : [ resolve ( __dirname , './tests/session_invalidate' ) ] , services , servers : xPackAPITestsConfig . get ( 'servers' ) , esTestCluster : { ... xPackAPITestsConfig . get ( 'esTestCluster' ) , serverArgs : [ ... xPackAPITestsConfig . get ( 'esTestCluster.serverArgs' ) , 'xpack.security.authc.token.enabled=true' , 'xpack.security.authc.realms.native.native1.order=0' , 'xpack.security.authc.realms.saml.saml1.order=1' , `xpack.security.authc.realms.saml.saml1.idp.metadata.path=${ idpPath }` , 'xpack.security.authc.realms.saml.saml1.idp.entity_id=http://www.elastic.co/saml1' , `xpack.security.authc.realms.saml.saml1.sp.entity_id=http://localhost:${ kibanaPort }` , `xpack.security.authc.realms.saml.saml1.sp.logout=http://localhost:${ kibanaPort }/logout` , `xpack.security.authc.realms.saml.saml1.sp.acs=http://localhost:${ kibanaPort }/api/security/saml/callback` , 'xpack.security.authc.realms.saml.saml1.attributes.principal=urn:oid:0.0.7' , ] , } , kbnTestServer : { ... xPackAPITestsConfig . get ( 'kbnTestServer' ) , serverArgs : [ ... xPackAPITestsConfig . get ( 'kbnTestServer.serverArgs' ) , `--xpack.security.authc.providers=${ JSON . stringify ( { basic : { basic1 : { order : 0 } } , saml : { saml1 : { order : 1 , realm : 'saml1' } } , } ) }` , ] , } , junit : { reportName : 'X-Pack Security API Integration Tests (Session Invalidate)' , } , } ; }