github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/clients/go/test/api_locales_test.go (about) 1 /* 2 Phrase Strings API Reference 3 4 Testing LocalesApiService 5 6 */ 7 8 // Code generated by OpenAPI Generator (https://openapi-generator.tech); 9 10 package phrase 11 12 import ( 13 "context" 14 "net/http" 15 "net/http/httptest" 16 "testing" 17 18 "github.com/antihax/optional" 19 "github.com/phrase/phrase-go/v3" // x-release-please-major 20 "github.com/stretchr/testify/assert" 21 "github.com/stretchr/testify/require" 22 ) 23 24 func Test_phrase_LocalesApiService(t *testing.T) { 25 server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 26 // Send the mock response 27 response := `{"id":"1","name":"English","code":"DE","default":true,"main":true,"rtl":true,"plural_forms":["plural_forms"]}` 28 w.Header().Set("Content-Type", "application/json") 29 w.WriteHeader(http.StatusOK) 30 31 w.Write([]byte(response)) 32 })) 33 34 defer server.Close() 35 36 configuration := phrase.NewConfiguration() 37 configuration.BasePath = server.URL 38 apiClient := phrase.NewAPIClient(configuration) 39 40 t.Run("Test LocalesApiService LocaleDownload", func(t *testing.T) { 41 formatOptions := optional.NewInterface(map[string]interface{}{ 42 "foo": "bar", 43 "baz": "bazz", 44 }) 45 localeDownloadOpts := phrase.LocaleDownloadOpts{FormatOptions: formatOptions} 46 47 resp, httpRes, err := apiClient.LocalesApi.LocaleDownload(context.Background(), "project_id_example", "locale_id", &localeDownloadOpts) 48 requestUrl := httpRes.Request.URL 49 50 require.Nil(t, err) 51 require.NotNil(t, resp) 52 assert.Equal(t, 200, httpRes.StatusCode) 53 assert.Equal(t, "format_options%5Bbaz%5D=bazz&format_options%5Bfoo%5D=bar", requestUrl.RawQuery) 54 assert.Equal(t, "/projects/project_id_example/locales/locale_id/download", requestUrl.Path) 55 assert.Equal(t, "GET", httpRes.Request.Method) 56 }) 57 58 t.Run("Test LocalesApiService LocaleShow", func(t *testing.T) { 59 localeShowOpts := phrase.LocaleShowOpts{} 60 resp, httpRes, err := apiClient.LocalesApi.LocaleShow(context.Background(), "project_id_example", "locale_id", &localeShowOpts) 61 requestUrl := httpRes.Request.URL 62 63 require.Nil(t, err) 64 require.NotNil(t, resp) 65 assert.Equal(t, 200, httpRes.StatusCode) 66 assert.Equal(t, "1", resp.Id) 67 assert.Equal(t, "DE", resp.Code) 68 assert.Equal(t, "English", resp.Name) 69 assert.Equal(t, "/projects/project_id_example/locales/locale_id", requestUrl.Path) 70 assert.Equal(t, "GET", httpRes.Request.Method) 71 }) 72 73 t.Run("Test LocalesApiService LocaleUpdate", func(t *testing.T) { 74 localeUpdateOpts := phrase.LocaleUpdateOpts{} 75 localeUpdateParameters := phrase.LocaleUpdateParameters{} 76 resp, httpRes, err := apiClient.LocalesApi.LocaleUpdate(context.Background(), "project_id_example", "locale_id", localeUpdateParameters, &localeUpdateOpts) 77 requestUrl := httpRes.Request.URL 78 79 require.Nil(t, err) 80 require.NotNil(t, resp) 81 assert.Equal(t, 200, httpRes.StatusCode) 82 assert.Equal(t, "1", resp.Id) 83 assert.Equal(t, "DE", resp.Code) 84 assert.Equal(t, "English", resp.Name) 85 assert.Equal(t, "/projects/project_id_example/locales/locale_id", requestUrl.Path) 86 assert.Equal(t, "PATCH", httpRes.Request.Method) 87 }) 88 89 t.Run("Test LocalesApiService LocalesList", func(t *testing.T) { 90 server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 91 // Send the mock response 92 response := `[{"id":"1","name":"English","code":"DE","default":true,"main":true,"rtl":true,"plural_forms":["plural_forms"]}]` 93 w.Header().Set("Content-Type", "application/json") 94 w.WriteHeader(http.StatusOK) 95 96 w.Write([]byte(response)) 97 })) 98 99 defer server.Close() 100 101 configuration := phrase.NewConfiguration() 102 configuration.BasePath = server.URL 103 apiClient := phrase.NewAPIClient(configuration) 104 105 localVarOptionals := phrase.LocalesListOpts{} 106 resp, httpRes, err := apiClient.LocalesApi.LocalesList(context.Background(), "project_id_example", &localVarOptionals) 107 requestUrl := httpRes.Request.URL 108 locale := resp[0] 109 110 require.Nil(t, err) 111 require.NotNil(t, resp) 112 assert.Equal(t, 200, httpRes.StatusCode) 113 assert.Equal(t, 1, len(resp)) 114 assert.Equal(t, "1", locale.Id) 115 assert.Equal(t, "DE", locale.Code) 116 assert.Equal(t, "English", locale.Name) 117 assert.Equal(t, "/projects/project_id_example/locales", requestUrl.Path) 118 assert.Equal(t, "GET", httpRes.Request.Method) 119 }) 120 121 }