go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/web/text_result_provider_test.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package web 9 10 import ( 11 "fmt" 12 "net/http" 13 "testing" 14 15 . "go.charczuk.com/sdk/assert" 16 ) 17 18 func Test_TextResultProvider_NotFound(t *testing.T) { 19 res := TextResultProvider{}.NotFound().(*RawResult) 20 ItsEqual(t, http.StatusNotFound, res.StatusCode) 21 ItsEqual(t, ContentTypeText, res.ContentType) 22 ItsEqual(t, "Not Found", string(res.Response)) 23 } 24 25 func Test_TextResultProvider_NotAuthorized(t *testing.T) { 26 res := TextResultProvider{}.NotAuthorized().(*RawResult) 27 ItsEqual(t, http.StatusUnauthorized, res.StatusCode) 28 ItsEqual(t, ContentTypeText, res.ContentType) 29 ItsEqual(t, "Not Authorized", string(res.Response)) 30 } 31 32 func Test_TextResultProvider_InternalError(t *testing.T) { 33 res := TextResultProvider{}.InternalError(fmt.Errorf("this is just a test")).(*RawResult) 34 ItsEqual(t, http.StatusInternalServerError, res.StatusCode) 35 ItsEqual(t, ContentTypeText, res.ContentType) 36 ItsEqual(t, "this is just a test", string(res.Response)) 37 } 38 39 func Test_TextResultProvider_BadRequest_err(t *testing.T) { 40 res := TextResultProvider{}.BadRequest(fmt.Errorf("this is just a test")).(*RawResult) 41 ItsEqual(t, http.StatusBadRequest, res.StatusCode) 42 ItsEqual(t, ContentTypeText, res.ContentType) 43 ItsEqual(t, "Bad Request: this is just a test", string(res.Response)) 44 } 45 46 func Test_TextResultProvider_BadRequest_nil(t *testing.T) { 47 res := TextResultProvider{}.BadRequest(nil).(*RawResult) 48 ItsEqual(t, http.StatusBadRequest, res.StatusCode) 49 ItsEqual(t, ContentTypeText, res.ContentType) 50 ItsEqual(t, "Bad Request", string(res.Response)) 51 } 52 53 func Test_TextResultProvider_Status_res(t *testing.T) { 54 res := TextResultProvider{}.Status(http.StatusNoContent, "content").(*RawResult) 55 ItsEqual(t, http.StatusNoContent, res.StatusCode) 56 ItsEqual(t, ContentTypeText, res.ContentType) 57 ItsEqual(t, "content", string(res.Response)) 58 } 59 60 func Test_TextResultProvider_Status_nil(t *testing.T) { 61 res := TextResultProvider{}.Status(http.StatusNoContent, nil).(*RawResult) 62 ItsEqual(t, http.StatusNoContent, res.StatusCode) 63 ItsEqual(t, ContentTypeText, res.ContentType) 64 ItsEqual(t, "No Content", string(res.Response)) 65 } 66 67 func Test_TextResultProvider_OK(t *testing.T) { 68 res := TextResultProvider{}.OK().(*RawResult) 69 ItsEqual(t, http.StatusOK, res.StatusCode) 70 ItsEqual(t, ContentTypeText, res.ContentType) 71 ItsEqual(t, "OK!", string(res.Response)) 72 } 73 74 func Test_TextResultProvider_Result(t *testing.T) { 75 res := TextResultProvider{}.Result(http.StatusNoContent, "content").(*RawResult) 76 ItsEqual(t, http.StatusNoContent, res.StatusCode) 77 ItsEqual(t, ContentTypeText, res.ContentType) 78 ItsEqual(t, "content", string(res.Response)) 79 }