github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/pkg/controllerutil/requeue_errors_test.go (about) 1 /* 2 Copyright (C) 2022-2023 ApeCloud Co., Ltd 3 4 This file is part of KubeBlocks project 5 6 This program is free software: you can redistribute it and/or modify 7 it under the terms of the GNU Affero General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU Affero General Public License for more details. 15 16 You should have received a copy of the GNU Affero General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 package controllerutil 21 22 import ( 23 "fmt" 24 "testing" 25 "time" 26 ) 27 28 func TestIsDelayedRequeueError(t *testing.T) { 29 err := NewDelayedRequeueError(time.Second, "requeue for test") 30 if !IsDelayedRequeueError(err) { 31 t.Error("should return ture when error is a delayed requeue error") 32 } 33 if !IsRequeueError(err) { 34 t.Error("should return ture when error is a requeue error") 35 } 36 } 37 38 func TestIsRequeueError(t *testing.T) { 39 err := NewRequeueError(time.Second, "requeue for test") 40 if !IsRequeueError(err) { 41 t.Error("should return ture when error is a requeue error") 42 } 43 } 44 45 func TestOtherFunctions(t *testing.T) { 46 reason := "requeue for test" 47 err := NewRequeueError(time.Second, reason) 48 requeueErr := err.(RequeueError) 49 if requeueErr.RequeueAfter() != time.Second { 50 t.Errorf("requeue after should equals %d", time.Second) 51 } 52 53 if requeueErr.Reason() != reason { 54 t.Errorf("reason should equals %s", reason) 55 } 56 57 if err.Error() != fmt.Sprintf("requeue after: %v as: %s", requeueErr.RequeueAfter(), requeueErr.Reason()) { 58 t.Error("error message is incorrect") 59 } 60 }