...

Source file src/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/integration_test.go

Documentation: github.com/aws/aws-sdk-go-v2/feature/ec2/imds

     1  //go:build integration && ec2env
     2  // +build integration,ec2env
     3  
     4  package imds
     5  
     6  import (
     7  	"context"
     8  	"io/ioutil"
     9  	"os"
    10  	"strings"
    11  	"testing"
    12  )
    13  
    14  func TestInteg_GetDynamicData(t *testing.T) {
    15  	client := New(Options{})
    16  
    17  	result, err := client.GetDynamicData(context.Background(), nil)
    18  	if err != nil {
    19  		t.Fatalf("expect no error, got %v", err)
    20  	}
    21  
    22  	b, err := ioutil.ReadAll(result.Content)
    23  	if err != nil {
    24  		t.Fatalf("expect to read content, got %v", err)
    25  	}
    26  
    27  	if len(b) == 0 {
    28  		t.Errorf("expect result content, but was empty")
    29  	}
    30  	t.Logf("Result:\n%s", string(b))
    31  }
    32  
    33  func TestInteg_GetIAMInfo(t *testing.T) {
    34  	client := New(Options{})
    35  
    36  	result, err := client.GetIAMInfo(context.Background(), nil)
    37  	if err != nil {
    38  		t.Fatalf("expect no error, got %v", err)
    39  	}
    40  
    41  	t.Logf("IAMInfo:\n%#v", result.IAMInfo)
    42  }
    43  
    44  func TestInteg_GetInstanceIdentityDocument(t *testing.T) {
    45  	client := New(Options{})
    46  
    47  	result, err := client.GetInstanceIdentityDocument(context.Background(), nil)
    48  	if err != nil {
    49  		t.Fatalf("expect no error, got %v", err)
    50  	}
    51  
    52  	t.Logf("InstanceIdentityDocument:\n%#v", result.InstanceIdentityDocument)
    53  }
    54  
    55  func TestInteg_GetMetadata(t *testing.T) {
    56  	client := New(Options{})
    57  
    58  	result, err := client.GetMetadata(context.Background(), nil)
    59  	if err != nil {
    60  		t.Fatalf("expect no error, got %v", err)
    61  	}
    62  
    63  	b, err := ioutil.ReadAll(result.Content)
    64  	if err != nil {
    65  		t.Fatalf("expect to read content, got %v", err)
    66  	}
    67  
    68  	if len(b) == 0 {
    69  		t.Errorf("expect result content, but was empty")
    70  	}
    71  	t.Logf("Result:\n%s", string(b))
    72  }
    73  
    74  func TestInteg_GetRegion(t *testing.T) {
    75  	client := New(Options{})
    76  
    77  	result, err := client.GetRegion(context.Background(), nil)
    78  	if err != nil {
    79  		t.Fatalf("expect no error, got %v", err)
    80  	}
    81  
    82  	if len(result.Region) == 0 {
    83  		t.Errorf("expect region, got none")
    84  	}
    85  
    86  	t.Logf("Region: %s", result.Region)
    87  }
    88  
    89  func TestInteg_GetUserData(t *testing.T) {
    90  	if !strings.EqualFold(os.Getenv("AWS_TEST_EC2_IMDS_WITH_USER_DATA"), "true") {
    91  		t.Skip("to run test set AWS_TEST_EC2_IMDS_WITH_USER_DATA=true")
    92  	}
    93  
    94  	client := New(Options{})
    95  
    96  	result, err := client.GetUserData(context.Background(), nil)
    97  	if err != nil {
    98  		t.Fatalf("expect no error, got %v", err)
    99  	}
   100  
   101  	b, err := ioutil.ReadAll(result.Content)
   102  	if err != nil {
   103  		t.Fatalf("expect to read content, got %v", err)
   104  	}
   105  
   106  	if len(b) == 0 {
   107  		t.Errorf("expect result content, but was empty")
   108  	}
   109  	t.Logf("Result:\n%s", string(b))
   110  }
   111  

View as plain text