@@ -10,6 +10,11 @@ import (
1010 "strings"
1111 "testing"
1212
13+ "github.com/aws/aws-sdk-go-v2/aws"
14+ awsconfig "github.com/aws/aws-sdk-go-v2/config"
15+ "github.com/aws/aws-sdk-go-v2/credentials"
16+ "github.com/aws/aws-sdk-go-v2/service/s3"
17+ "github.com/aws/aws-sdk-go-v2/service/sqs"
1318 "github.com/localstack/lstk/test/integration/env"
1419 "github.com/stretchr/testify/assert"
1520 "github.com/stretchr/testify/require"
@@ -32,44 +37,44 @@ func TestStatusCommandFailsWhenNotRunning(t *testing.T) {
3237
3338func TestStatusCommandShowsResourcesWhenRunning (t * testing.T ) {
3439 requireDocker (t )
40+ _ = env .Require (t , env .AuthToken )
3541 cleanup ()
3642 t .Cleanup (cleanup )
3743
3844 ctx := testContext (t )
39- startTestContainer (t , ctx )
4045
41- // Mock the LocalStack HTTP API so we can test resource display without a real LocalStack instance.
42- server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
43- switch r .URL .Path {
44- case "/_localstack/health" :
45- w .Header ().Set ("Content-Type" , "application/json" )
46- _ , _ = fmt .Fprintln (w , `{"version": "4.14.1", "services": {}}` )
47- case "/_localstack/resources" :
48- w .Header ().Set ("Content-Type" , "application/x-ndjson" )
49- _ , _ = fmt .Fprintln (w , `{"AWS::S3::Bucket": [{"region_name": "global", "account_id": "000000000000", "id": "my-bucket"}]}` )
50- _ , _ = fmt .Fprintln (w , `{"AWS::Lambda::Function": [{"region_name": "us-east-1", "account_id": "000000000000", "id": "my-function"}]}` )
51- default :
52- w .WriteHeader (http .StatusNotFound )
53- }
54- }))
55- defer server .Close ()
46+ mockServer := createMockLicenseServer (true )
47+ defer mockServer .Close ()
5648
57- host := strings .TrimPrefix (server .URL , "http://" )
49+ _ , stderr , err := runLstk (t , ctx , "" , env .With (env .APIEndpoint , mockServer .URL ), "start" )
50+ require .NoError (t , err , "lstk start failed: %s" , stderr )
51+
52+ awsCfg , err := awsconfig .LoadDefaultConfig (ctx ,
53+ awsconfig .WithRegion ("us-east-1" ),
54+ awsconfig .WithCredentialsProvider (credentials .NewStaticCredentialsProvider ("test" , "test" , "" )),
55+ awsconfig .WithBaseEndpoint ("http://localhost:4566" ),
56+ )
57+ require .NoError (t , err )
58+
59+ s3Client := s3 .NewFromConfig (awsCfg , func (o * s3.Options ) { o .UsePathStyle = true })
60+ _ , err = s3Client .CreateBucket (ctx , & s3.CreateBucketInput {Bucket : aws .String ("my-test-bucket" )})
61+ require .NoError (t , err , "failed to create S3 bucket" )
62+
63+ sqsClient := sqs .NewFromConfig (awsCfg )
64+ _ , err = sqsClient .CreateQueue (ctx , & sqs.CreateQueueInput {QueueName : aws .String ("my-test-queue" )})
65+ require .NoError (t , err , "failed to create SQS queue" )
5866
5967 analyticsSrv , events := mockAnalyticsServer (t )
60- stdout , stderr , err := runLstk (t , ctx , "" , env .With (env .LocalStackHost , host ). With ( env . AnalyticsEndpoint , analyticsSrv .URL ), "status" )
68+ stdout , stderr , err := runLstk (t , ctx , "" , env .With (env .AnalyticsEndpoint , analyticsSrv .URL ), "status" )
6169 require .NoError (t , err , "lstk status failed: %s" , stderr )
6270 requireExitCode (t , 0 , err )
6371 assert .Contains (t , stdout , "running" )
64- assert .Contains (t , stdout , "4.14.1" )
65- assert .Contains (t , stdout , "2 resources" )
66- assert .Contains (t , stdout , "2 services" )
6772 assert .Contains (t , stdout , "SERVICE" )
6873 assert .Contains (t , stdout , "RESOURCE" )
6974 assert .Contains (t , stdout , "S3" )
70- assert .Contains (t , stdout , "my-bucket" )
71- assert .Contains (t , stdout , "Lambda " )
72- assert .Contains (t , stdout , "my-function " )
75+ assert .Contains (t , stdout , "my-test- bucket" )
76+ assert .Contains (t , stdout , "SQS " )
77+ assert .Contains (t , stdout , "my-test-queue " )
7378 assertCommandTelemetry (t , events , "status" , 0 )
7479}
7580
0 commit comments