github.com/greenboxal/deis@v1.12.1/client/controller/client/client_test.go (about) 1 package client 2 3 import ( 4 "io/ioutil" 5 "net/url" 6 "os" 7 "path" 8 "testing" 9 ) 10 11 const sFile string = `{"username":"t","ssl_verify":false,"controller":"http://d.t","token":"a","response_limit": 50}` 12 13 func createTempProfile(contents string) error { 14 name, err := ioutil.TempDir("", "client") 15 16 if err != nil { 17 return err 18 } 19 20 os.Unsetenv("DEIS_PROFILE") 21 os.Setenv("HOME", name) 22 folder := path.Join(name, "/.deis/") 23 if err = os.Mkdir(folder, 0755); err != nil { 24 return err 25 } 26 27 if err = ioutil.WriteFile(path.Join(folder, "client.json"), []byte(contents), 0775); err != nil { 28 return err 29 } 30 31 return nil 32 } 33 34 func TestLoadSave(t *testing.T) { 35 if err := createTempProfile(sFile); err != nil { 36 t.Fatal(err) 37 } 38 39 client, err := New() 40 41 if err != nil { 42 t.Fatal(err) 43 } 44 45 expectedB := false 46 if client.SSLVerify != expectedB { 47 t.Errorf("Expected %t, Got %t", expectedB, client.SSLVerify) 48 } 49 50 expected := "a" 51 if client.Token != expected { 52 t.Errorf("Expected %s, Got %s", expected, client.Token) 53 } 54 55 expected = "t" 56 if client.Username != expected { 57 t.Errorf("Expected %s, Got %s", expected, client.Username) 58 } 59 60 expected = "http://d.t" 61 if client.ControllerURL.String() != expected { 62 t.Errorf("Expected %s, Got %s", expected, client.ControllerURL.String()) 63 } 64 65 expectedI := 50 66 if client.ResponseLimit != expectedI { 67 t.Errorf("Expected %d, Got %d", expectedI, client.ResponseLimit) 68 } 69 70 client.SSLVerify = true 71 client.Token = "b" 72 client.Username = "c" 73 client.ResponseLimit = 0 74 75 u, err := url.Parse("http://deis.test") 76 77 if err != nil { 78 t.Fatal(err) 79 } 80 81 client.ControllerURL = *u 82 83 if err = client.Save(); err != nil { 84 t.Fatal(err) 85 } 86 87 client, err = New() 88 89 expectedB = true 90 if client.SSLVerify != expectedB { 91 t.Errorf("Expected %t, Got %t", expectedB, client.SSLVerify) 92 } 93 94 expected = "b" 95 if client.Token != expected { 96 t.Errorf("Expected %s, Got %s", expected, client.Token) 97 } 98 99 expected = "c" 100 if client.Username != expected { 101 t.Errorf("Expected %s, Got %s", expected, client.Username) 102 } 103 104 expected = "http://deis.test" 105 if client.ControllerURL.String() != expected { 106 t.Errorf("Expected %s, Got %s", expected, client.ControllerURL.String()) 107 } 108 109 expectedI = 100 110 if client.ResponseLimit != expectedI { 111 t.Errorf("Expected %d, Got %d", expectedI, client.ResponseLimit) 112 } 113 } 114 115 func TestDeleteSettings(t *testing.T) { 116 if err := createTempProfile(""); err != nil { 117 t.Fatal(err) 118 } 119 120 if err := Delete(); err != nil { 121 t.Fatal(err) 122 } 123 124 file := locateSettingsFile() 125 126 if _, err := os.Stat(file); err == nil { 127 t.Errorf("File %s exists, supposed to have been deleted.", file) 128 } 129 }