github.com/argoproj/argo-cd/v3@v3.2.1/util/profile/profile_test.go (about) 1 package profile 2 3 import ( 4 "net/http" 5 "net/http/httptest" 6 "os" 7 "testing" 8 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestRegisterProfile_FileIsMissing(t *testing.T) { 13 mux := http.NewServeMux() 14 RegisterProfiler(mux) 15 16 srv := httptest.NewServer(mux) 17 defer srv.Close() 18 19 resp, err := http.Get(srv.URL + "/debug/pprof/") 20 require.NoError(t, err) 21 require.Equal(t, http.StatusUnauthorized, resp.StatusCode) 22 } 23 24 func TestRegisterProfile_FileExist(t *testing.T) { 25 mux := http.NewServeMux() 26 RegisterProfiler(mux) 27 28 srv := httptest.NewServer(mux) 29 defer srv.Close() 30 31 f, err := os.CreateTemp(t.TempDir(), "test") 32 require.NoError(t, err) 33 _, err = f.WriteString("true") 34 require.NoError(t, err) 35 36 oldVal := enableProfilerFilePath 37 enableProfilerFilePath = f.Name() 38 39 resp, err := http.Get(srv.URL + "/debug/pprof/") 40 require.NoError(t, err) 41 require.Equal(t, http.StatusOK, resp.StatusCode) 42 43 enableProfilerFilePath = oldVal 44 _ = f.Close() 45 _ = os.Remove(f.Name()) 46 }