@@ -377,6 +377,16 @@ func TestFetch(t *testing.T) {
377
377
defer os .RemoveAll (dir )
378
378
ms := & manifest.Manifest {
379
379
IstioDistributions : []* manifest.IstioDistribution {
380
+ {
381
+ Version : "1.10.3" ,
382
+ Flavor : manifest .IstioDistributionFlavorTetrate ,
383
+ FlavorVersion : 0 ,
384
+ },
385
+ {
386
+ Version : "1.10.3" ,
387
+ Flavor : manifest .IstioDistributionFlavorTetrateFIPS ,
388
+ FlavorVersion : 0 ,
389
+ },
380
390
{
381
391
Version : "1.7.6" ,
382
392
Flavor : manifest .IstioDistributionFlavorTetrate ,
@@ -407,8 +417,8 @@ func TestFetch(t *testing.T) {
407
417
408
418
t .Run ("supported" , func (t * testing.T ) {
409
419
for _ , c := range []* manifest.IstioDistribution {
410
- {Version : "1.7.5 " , Flavor : manifest .IstioDistributionFlavorTetrate , FlavorVersion : 0 },
411
- {Version : "1.7.6 " , Flavor : manifest .IstioDistributionFlavorTetrate , FlavorVersion : 0 },
420
+ {Version : "1.10.3 " , Flavor : manifest .IstioDistributionFlavorTetrate , FlavorVersion : 0 },
421
+ {Version : "1.10.3 " , Flavor : manifest .IstioDistributionFlavorTetrateFIPS , FlavorVersion : 0 },
412
422
} {
413
423
require .Error (t , checkExist (dir , c ))
414
424
err = Fetch (dir , c , ms )
@@ -461,3 +471,55 @@ func TestFetch(t *testing.T) {
461
471
}
462
472
})
463
473
}
474
+
475
+ func TestFetchIstioctlURL (t * testing.T ) {
476
+ istioDistribution := & manifest.IstioDistribution {
477
+ Version : "1.7.6" ,
478
+ Flavor : manifest .IstioDistributionFlavorTetrate ,
479
+ FlavorVersion : 0 ,
480
+ }
481
+
482
+ tests := map [string ]struct {
483
+ istioDistribution * manifest.IstioDistribution
484
+ goos string
485
+ goarch string
486
+ want string
487
+ }{
488
+ "linux-amd64" : {
489
+ istioDistribution : istioDistribution ,
490
+ goos : "linux" ,
491
+ goarch : "amd64" ,
492
+ want : "https://istio.tetratelabs.io/getmesh/files/istio-1.7.6-tetrate-v0-linux-amd64.tar.gz" ,
493
+ },
494
+ "linux-arm64" : {
495
+ istioDistribution : istioDistribution ,
496
+ goos : "linux" ,
497
+ goarch : "arm64" ,
498
+ want : "https://istio.tetratelabs.io/getmesh/files/istio-1.7.6-tetrate-v0-linux-arm64.tar.gz" ,
499
+ },
500
+ "darwin-arm64" : {
501
+ istioDistribution : istioDistribution ,
502
+ goos : "darwin" ,
503
+ goarch : "arm64" ,
504
+ want : "https://istio.tetratelabs.io/getmesh/files/istio-1.7.6-tetrate-v0-osx-arm64.tar.gz" ,
505
+ },
506
+ "darwin-amd64" : {
507
+ istioDistribution : istioDistribution ,
508
+ goos : "darwin" ,
509
+ goarch : "amd64" ,
510
+ want : "https://istio.tetratelabs.io/getmesh/files/istio-1.7.6-tetrate-v0-osx.tar.gz" , // No arch
511
+ },
512
+ "madeupoos-madeuparch" : { // Check that follows os-arch convention
513
+ istioDistribution : istioDistribution ,
514
+ goos : "madeupoos" ,
515
+ goarch : "madeuparch" ,
516
+ want : "https://istio.tetratelabs.io/getmesh/files/istio-1.7.6-tetrate-v0-madeupoos-madeuparch.tar.gz" ,
517
+ },
518
+ }
519
+ for name , tc := range tests {
520
+ t .Run (name , func (t * testing.T ) {
521
+ got := fetchIstioctlURL (tc .istioDistribution , tc .goos , tc .goarch )
522
+ require .Equal (t , tc .want , got )
523
+ })
524
+ }
525
+ }
0 commit comments