@@ -8,6 +8,7 @@ package grpc
88import (
99 "context"
1010 "fmt"
11+ "os"
1112 "testing"
1213
1314 "github.com/cenkalti/backoff/v4"
@@ -352,3 +353,71 @@ func Test_ValidateGrpcError(t *testing.T) {
352353 result = ValidateGrpcError (status .Errorf (codes .InvalidArgument , "error" ))
353354 assert .IsType (t , & backoff.PermanentError {}, result )
354355}
356+
357+ func Test_validateTokenFile (t * testing.T ) {
358+ type args struct {
359+ path string
360+ }
361+ tests := []struct {
362+ name string
363+ createToken bool
364+ args args
365+ want string
366+ wantErrMsg string
367+ }{
368+ {
369+ name : "File exists" ,
370+ createToken : true ,
371+ args : args {
372+ path : "test-tkn" ,
373+ },
374+ want : "test-tkn" ,
375+ wantErrMsg : "" ,
376+ },
377+ {
378+ name : "File does not exist" ,
379+ createToken : false ,
380+ args : args {
381+ path : "test-tkn" ,
382+ },
383+ want : "" ,
384+ wantErrMsg : "open test-tkn: no such file or directory" ,
385+ },
386+ {
387+ name : "Empty path" ,
388+ createToken : false ,
389+ args : args {
390+ path : "" ,
391+ },
392+ want : "" ,
393+ wantErrMsg : "token file path is empty" ,
394+ },
395+ }
396+ for _ , tt := range tests {
397+ t .Run (tt .name , func (t * testing.T ) {
398+ defer func () {
399+ if tt .createToken {
400+ err := os .Remove (tt .args .path )
401+ if err != nil {
402+ t .Log (err )
403+ }
404+ }
405+ }()
406+
407+ if tt .createToken {
408+ err := os .WriteFile (tt .args .path , []byte (tt .args .path ), 0666 )
409+ if err != nil {
410+ t .Fatal (err )
411+ }
412+ }
413+
414+ got , err := validateTokenFile (tt .args .path )
415+ if err != nil {
416+ if err .Error () != tt .wantErrMsg {
417+ t .Errorf ("validateTokenFile() error = %v, wantErr %v" , err , tt .wantErrMsg )
418+ }
419+ }
420+ assert .Equalf (t , tt .want , got , "validateTokenFile(%v)" , tt .args .path )
421+ })
422+ }
423+ }
0 commit comments