11package cli_test
22
33import (
4- "context"
54 "testing"
65
76 "github.com/stretchr/testify/assert"
@@ -16,51 +15,46 @@ import (
1615// loaded via --config reaches the gRPC request.
1716func TestConfigLoad_FlagSetsAccountID (t * testing.T ) {
1817 env := testutil .NewBareTestEnv (t )
19- t .Cleanup (env .Cleanup )
2018
2119 cfgPath := testutil .WriteConfigFile (t , t .TempDir (), map [string ]any {
2220 "account_id" : "account-from-file" ,
2321 })
2422
25- var capturedAccountID string
26- env .Server .ListClustersFunc = func (_ context.Context , req * clusterv1.ListClustersRequest ) (* clusterv1.ListClustersResponse , error ) {
27- capturedAccountID = req .GetAccountId ()
28- return & clusterv1.ListClustersResponse {}, nil
29- }
23+ env .Server .ListClustersCalls .Returns (& clusterv1.ListClustersResponse {}, nil )
3024
3125 _ , _ , err := testutil .Exec (t , env , "--config" , cfgPath , "cluster" , "list" )
3226 require .NoError (t , err )
33- assert .Equal (t , "account-from-file" , capturedAccountID )
27+
28+ req , ok := env .Server .ListClustersCalls .Last ()
29+ require .True (t , ok )
30+ assert .Equal (t , "account-from-file" , req .GetAccountId ())
3431}
3532
3633// TestConfigLoad_EnvVarSetsAccountID verifies that QDRANT_CLOUD_CONFIG env var
3734// is respected when no --config flag is given.
3835func TestConfigLoad_EnvVarSetsAccountID (t * testing.T ) {
3936 env := testutil .NewBareTestEnv (t )
40- t .Cleanup (env .Cleanup )
4137
4238 cfgPath := testutil .WriteConfigFile (t , t .TempDir (), map [string ]any {
4339 "account_id" : "account-from-envvar" ,
4440 })
4541
4642 t .Setenv ("QDRANT_CLOUD_CONFIG" , cfgPath )
4743
48- var capturedAccountID string
49- env .Server .ListClustersFunc = func (_ context.Context , req * clusterv1.ListClustersRequest ) (* clusterv1.ListClustersResponse , error ) {
50- capturedAccountID = req .GetAccountId ()
51- return & clusterv1.ListClustersResponse {}, nil
52- }
44+ env .Server .ListClustersCalls .Returns (& clusterv1.ListClustersResponse {}, nil )
5345
5446 _ , _ , err := testutil .Exec (t , env , "cluster" , "list" )
5547 require .NoError (t , err )
56- assert .Equal (t , "account-from-envvar" , capturedAccountID )
48+
49+ req , ok := env .Server .ListClustersCalls .Last ()
50+ require .True (t , ok )
51+ assert .Equal (t , "account-from-envvar" , req .GetAccountId ())
5752}
5853
5954// TestConfigLoad_FlagOverridesEnvVar verifies that --config flag takes
6055// precedence over QDRANT_CLOUD_CONFIG env var.
6156func TestConfigLoad_FlagOverridesEnvVar (t * testing.T ) {
6257 env := testutil .NewBareTestEnv (t )
63- t .Cleanup (env .Cleanup )
6458
6559 dir := t .TempDir ()
6660 flagCfg := testutil .WriteConfigFile (t , dir , map [string ]any {
@@ -73,34 +67,31 @@ func TestConfigLoad_FlagOverridesEnvVar(t *testing.T) {
7367
7468 t .Setenv ("QDRANT_CLOUD_CONFIG" , envCfg )
7569
76- var capturedAccountID string
77- env .Server .ListClustersFunc = func (_ context.Context , req * clusterv1.ListClustersRequest ) (* clusterv1.ListClustersResponse , error ) {
78- capturedAccountID = req .GetAccountId ()
79- return & clusterv1.ListClustersResponse {}, nil
80- }
70+ env .Server .ListClustersCalls .Returns (& clusterv1.ListClustersResponse {}, nil )
8171
8272 _ , _ , err := testutil .Exec (t , env , "--config" , flagCfg , "cluster" , "list" )
8373 require .NoError (t , err )
84- assert .Equal (t , "account-from-flag" , capturedAccountID )
74+
75+ req , ok := env .Server .ListClustersCalls .Last ()
76+ require .True (t , ok )
77+ assert .Equal (t , "account-from-flag" , req .GetAccountId ())
8578}
8679
8780// TestConfigLoad_WithAccountIDTakesPrecedence verifies that WithAccountID (Set)
8881// takes precedence over a config file loaded via --config (Set > config file).
8982func TestConfigLoad_WithAccountIDTakesPrecedence (t * testing.T ) {
9083 env := testutil .NewTestEnv (t , testutil .WithAccountID ("explicit-id" ))
91- t .Cleanup (env .Cleanup )
9284
9385 cfgPath := testutil .WriteConfigFile (t , t .TempDir (), map [string ]any {
9486 "account_id" : "account-from-file" ,
9587 })
9688
97- var capturedAccountID string
98- env .Server .ListClustersFunc = func (_ context.Context , req * clusterv1.ListClustersRequest ) (* clusterv1.ListClustersResponse , error ) {
99- capturedAccountID = req .GetAccountId ()
100- return & clusterv1.ListClustersResponse {}, nil
101- }
89+ env .Server .ListClustersCalls .Returns (& clusterv1.ListClustersResponse {}, nil )
10290
10391 _ , _ , err := testutil .Exec (t , env , "--config" , cfgPath , "cluster" , "list" )
10492 require .NoError (t , err )
105- assert .Equal (t , "explicit-id" , capturedAccountID )
93+
94+ req , ok := env .Server .ListClustersCalls .Last ()
95+ require .True (t , ok )
96+ assert .Equal (t , "explicit-id" , req .GetAccountId ())
10697}
0 commit comments