ソースを参照

Fix a test that relies on Prom library (#2432)

We were assuming that the library always returns seconds, but it can
now also return minutes (presumably if the seconds divide well). This is
probably failing due to an update of that library.

Signed-off-by: Michael Dresser <michaelmdresser@gmail.com>
Michael Dresser 2 年 前
コミット
245fbc8b19
1 ファイル変更8 行追加4 行削除
  1. 8 4
      pkg/kubecost/window_test.go

+ 8 - 4
pkg/kubecost/window_test.go

@@ -667,13 +667,17 @@ func TestWindow_DurationOffsetForPrometheus(t *testing.T) {
 	}
 	}
 
 
 	dur, off, err := w.DurationOffsetForPrometheus()
 	dur, off, err := w.DurationOffsetForPrometheus()
-	expDur := int(now.Sub(startOfToday).Seconds())
-	expDurStr := fmt.Sprintf("%ds", expDur)
 	if err != nil {
 	if err != nil {
 		t.Fatalf("unexpected error: %s", err)
 		t.Fatalf("unexpected error: %s", err)
 	}
 	}
-	if dur != expDurStr {
-		t.Fatalf(`expect: window to be "%s"; actual: "%s"`, expDurStr, dur)
+	// We can get a response in seconds OR minutes. Check seconds first as it
+	// is higher resolution.
+	expDurSec := int(now.Sub(startOfToday).Seconds())
+	expDurSecStr := fmt.Sprintf("%ds", expDurSec)
+	expDurMin := int(now.Sub(startOfToday).Minutes())
+	expDurMinStr := fmt.Sprintf("%dm", expDurMin)
+	if dur != expDurSecStr && dur != expDurMinStr {
+		t.Fatalf(`expect: window to be "%s" (or "%s"); actual: "%s"`, expDurSecStr, expDurMinStr, dur)
 	}
 	}
 	if off != "" {
 	if off != "" {
 		t.Fatalf(`expect: offset to be ""; actual: "%s"`, off)
 		t.Fatalf(`expect: offset to be ""; actual: "%s"`, off)