costmodel_test.go 893 B

1234567891011121314151617181920212223242526272829303132333435
  1. package costmodel_test
  2. // Mocks can be regenerated with something like GO111MODULE=on mockgen -destination ./test/mocks/mock_provider.go -package mocks github.com/kubecost/cost-model/cloud Provider
  3. import (
  4. "net/url"
  5. "testing"
  6. "time"
  7. "github.com/golang/mock/gomock"
  8. "github.com/kubecost/test/mocks"
  9. v1 "k8s.io/api/core/v1"
  10. metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
  11. fakecontroller "k8s.io/client-go/tools/cache/testing"
  12. )
  13. func TestCostModel(t *testing.T) {
  14. ctrl := gomock.NewController(t)
  15. defer ctrl.Finish()
  16. u, _ := url.Parse("http://localhost:9003")
  17. cli := mocks.NewMockClient(ctrl)
  18. cli.EXPECT().URL(gomock.Any(), gomock.Any()).AnyTimes().Return(u)
  19. cli.EXPECT().Do(gomock.Any(), gomock.Any()).AnyTimes()
  20. fc := fakecontroller.NewFakeControllerSource()
  21. fc.Add(&v1.Pod{
  22. ObjectMeta: metav1.ObjectMeta{
  23. Name: "foo",
  24. },
  25. })
  26. time.Sleep(100 * time.Millisecond)
  27. }