github.com/fastly/go-fastly@v1.18.0/fastly/scalyr_test.go (about)

     1  package fastly
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestClient_Scalyrs(t *testing.T) {
     8  	t.Parallel()
     9  
    10  	var err error
    11  	var tv *Version
    12  	record(t, "scalyrs/version", func(c *Client) {
    13  		tv = testVersion(t, c)
    14  	})
    15  
    16  	// Create
    17  	var s *Scalyr
    18  	record(t, "scalyrs/create", func(c *Client) {
    19  		s, err = c.CreateScalyr(&CreateScalyrInput{
    20  			Service:       testServiceID,
    21  			Version:       tv.Number,
    22  			Name:          String("test-scalyr"),
    23  			Format:        String("%h %l %u %t \"%r\" %>s %b"),
    24  			FormatVersion: Uint(2),
    25  			Placement:     String("waf_debug"),
    26  			Region:        String("US"),
    27  			Token:         String("super-secure-token"),
    28  		})
    29  	})
    30  	if err != nil {
    31  		t.Fatal(err)
    32  	}
    33  
    34  	// Ensure deleted
    35  	defer func() {
    36  		record(t, "scalyrs/cleanup", func(c *Client) {
    37  			c.DeleteScalyr(&DeleteScalyrInput{
    38  				Service: testServiceID,
    39  				Version: tv.Number,
    40  				Name:    "test-scalyr",
    41  			})
    42  
    43  			c.DeleteScalyr(&DeleteScalyrInput{
    44  				Service: testServiceID,
    45  				Version: tv.Number,
    46  				Name:    "new-test-scalyr",
    47  			})
    48  		})
    49  	}()
    50  
    51  	if s.Name != "test-scalyr" {
    52  		t.Errorf("bad name: %q", s.Name)
    53  	}
    54  	if s.Format != "%h %l %u %t \"%r\" %>s %b" {
    55  		t.Errorf("bad format: %q", s.Format)
    56  	}
    57  	if s.FormatVersion != 2 {
    58  		t.Errorf("bad format_version: %q", s.FormatVersion)
    59  	}
    60  	if s.Placement != "waf_debug" {
    61  		t.Errorf("bad placement: %q", s.Placement)
    62  	}
    63  	if s.Region != "US" {
    64  		t.Errorf("bad region: %q", s.Region)
    65  	}
    66  	if s.Token != "super-secure-token" {
    67  		t.Errorf("bad token: %q", s.Token)
    68  	}
    69  
    70  	// List
    71  	var ss []*Scalyr
    72  	record(t, "scalyrs/list", func(c *Client) {
    73  		ss, err = c.ListScalyrs(&ListScalyrsInput{
    74  			Service: testServiceID,
    75  			Version: tv.Number,
    76  		})
    77  	})
    78  	if err != nil {
    79  		t.Fatal(err)
    80  	}
    81  	if len(ss) < 1 {
    82  		t.Errorf("bad scalyrs: %v", ss)
    83  	}
    84  
    85  	// Get
    86  	var ns *Scalyr
    87  	record(t, "scalyrs/get", func(c *Client) {
    88  		ns, err = c.GetScalyr(&GetScalyrInput{
    89  			Service: testServiceID,
    90  			Version: tv.Number,
    91  			Name:    "test-scalyr",
    92  		})
    93  	})
    94  	if err != nil {
    95  		t.Fatal(err)
    96  	}
    97  	if s.Name != ns.Name {
    98  		t.Errorf("bad name: %q", s.Name)
    99  	}
   100  	if s.Format != ns.Format {
   101  		t.Errorf("bad format: %q", s.Format)
   102  	}
   103  	if s.FormatVersion != ns.FormatVersion {
   104  		t.Errorf("bad format_version: %q", s.FormatVersion)
   105  	}
   106  	if s.Placement != ns.Placement {
   107  		t.Errorf("bad placement: %q", s.Placement)
   108  	}
   109  	if s.Region != "US" {
   110  		t.Errorf("bad region: %q", s.Region)
   111  	}
   112  	if s.Token != ns.Token {
   113  		t.Errorf("bad token: %q", s.Token)
   114  	}
   115  
   116  	// Update
   117  	var us *Scalyr
   118  	record(t, "scalyrs/update", func(c *Client) {
   119  		us, err = c.UpdateScalyr(&UpdateScalyrInput{
   120  			Service: testServiceID,
   121  			Version: tv.Number,
   122  			Name:    "test-scalyr",
   123  			NewName: String("new-test-scalyr"),
   124  			Region:  String("EU"),
   125  			Token:   String("new-token"),
   126  		})
   127  	})
   128  	if err != nil {
   129  		t.Fatal(err)
   130  	}
   131  	if us.Name != "new-test-scalyr" {
   132  		t.Errorf("bad name: %q", us.Name)
   133  	}
   134  	if us.Region != "EU" {
   135  		t.Errorf("bad region: %q", us.Region)
   136  	}
   137  	if us.Token != "new-token" {
   138  		t.Errorf("bad token: %q", us.Token)
   139  	}
   140  
   141  	// Delete
   142  	record(t, "scalyrs/delete", func(c *Client) {
   143  		err = c.DeleteScalyr(&DeleteScalyrInput{
   144  			Service: testServiceID,
   145  			Version: tv.Number,
   146  			Name:    "new-test-scalyr",
   147  		})
   148  	})
   149  	if err != nil {
   150  		t.Fatal(err)
   151  	}
   152  }
   153  
   154  func TestClient_ListScalyrs_validation(t *testing.T) {
   155  	var err error
   156  	_, err = testClient.ListScalyrs(&ListScalyrsInput{
   157  		Service: "",
   158  	})
   159  	if err != ErrMissingService {
   160  		t.Errorf("bad error: %s", err)
   161  	}
   162  
   163  	_, err = testClient.ListScalyrs(&ListScalyrsInput{
   164  		Service: "foo",
   165  		Version: 0,
   166  	})
   167  	if err != ErrMissingVersion {
   168  		t.Errorf("bad error: %s", err)
   169  	}
   170  }
   171  
   172  func TestClient_CreateScalyr_validation(t *testing.T) {
   173  	var err error
   174  	_, err = testClient.CreateScalyr(&CreateScalyrInput{
   175  		Service: "",
   176  	})
   177  	if err != ErrMissingService {
   178  		t.Errorf("bad error: %s", err)
   179  	}
   180  
   181  	_, err = testClient.CreateScalyr(&CreateScalyrInput{
   182  		Service: "foo",
   183  		Version: 0,
   184  	})
   185  	if err != ErrMissingVersion {
   186  		t.Errorf("bad error: %s", err)
   187  	}
   188  }
   189  
   190  func TestClient_GetScalyr_validation(t *testing.T) {
   191  	var err error
   192  	_, err = testClient.GetScalyr(&GetScalyrInput{
   193  		Service: "",
   194  	})
   195  	if err != ErrMissingService {
   196  		t.Errorf("bad error: %s", err)
   197  	}
   198  
   199  	_, err = testClient.GetScalyr(&GetScalyrInput{
   200  		Service: "foo",
   201  		Version: 0,
   202  	})
   203  	if err != ErrMissingVersion {
   204  		t.Errorf("bad error: %s", err)
   205  	}
   206  
   207  	_, err = testClient.GetScalyr(&GetScalyrInput{
   208  		Service: "foo",
   209  		Version: 1,
   210  		Name:    "",
   211  	})
   212  	if err != ErrMissingName {
   213  		t.Errorf("bad error: %s", err)
   214  	}
   215  }
   216  
   217  func TestClient_UpdateScalyr_validation(t *testing.T) {
   218  	var err error
   219  	_, err = testClient.UpdateScalyr(&UpdateScalyrInput{
   220  		Service: "",
   221  	})
   222  	if err != ErrMissingService {
   223  		t.Errorf("bad error: %s", err)
   224  	}
   225  
   226  	_, err = testClient.UpdateScalyr(&UpdateScalyrInput{
   227  		Service: "foo",
   228  		Version: 0,
   229  	})
   230  	if err != ErrMissingVersion {
   231  		t.Errorf("bad error: %s", err)
   232  	}
   233  
   234  	_, err = testClient.UpdateScalyr(&UpdateScalyrInput{
   235  		Service: "foo",
   236  		Version: 1,
   237  		Name:    "",
   238  	})
   239  	if err != ErrMissingName {
   240  		t.Errorf("bad error: %s", err)
   241  	}
   242  }
   243  
   244  func TestClient_DeleteScalyr_validation(t *testing.T) {
   245  	var err error
   246  	err = testClient.DeleteScalyr(&DeleteScalyrInput{
   247  		Service: "",
   248  	})
   249  	if err != ErrMissingService {
   250  		t.Errorf("bad error: %s", err)
   251  	}
   252  
   253  	err = testClient.DeleteScalyr(&DeleteScalyrInput{
   254  		Service: "foo",
   255  		Version: 0,
   256  	})
   257  	if err != ErrMissingVersion {
   258  		t.Errorf("bad error: %s", err)
   259  	}
   260  
   261  	err = testClient.DeleteScalyr(&DeleteScalyrInput{
   262  		Service: "foo",
   263  		Version: 1,
   264  		Name:    "",
   265  	})
   266  	if err != ErrMissingName {
   267  		t.Errorf("bad error: %s", err)
   268  	}
   269  }