| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package test
- import (
- _ "k8s.io/client-go/plugin/pkg/client/auth"
- )
- /*
- func TestClusterConvergence(t *testing.T) {
- rclient, err := getKubernetesClient()
- if err != nil {
- panic(err)
- }
- var LongTimeoutRoundTripper http.RoundTripper = &http.Transport{ // may be necessary for long prometheus queries. TODO: make this configurable
- Proxy: http.ProxyFromEnvironment,
- DialContext: (&net.Dialer{
- Timeout: 120 * time.Second,
- KeepAlive: 120 * time.Second,
- }).DialContext,
- TLSHandshakeTimeout: 10 * time.Second,
- }
- pc := prometheusClient.Config{
- Address: os.Getenv(PROMETHEUS_SERVER_ENDPOINT),
- RoundTripper: LongTimeoutRoundTripper,
- }
- promCli, err := prometheusClient.NewClient(pc)
- if err != nil {
- panic(err)
- }
- cm := costModel.NewCostModel(rclient)
- provider := &cloud.CustomProvider{
- Clientset: rclient,
- }
- loc, _ := time.LoadLocation("UTC")
- endTime := time.Now().In(loc)
- d, _ := time.ParseDuration("24h")
- startTime := endTime.Add(-1 * d)
- layout := "2006-01-02T15:04:05.000Z"
- startStr := startTime.Format(layout)
- endStr := endTime.Format(layout)
- log.Printf("Starting at %s \n", startStr)
- log.Printf("Ending at %s \n", endStr)
- provider.DownloadPricingData()
- data, err := cm.ComputeCostDataRange(promCli, rclient, provider, startStr, endStr, "1h", "", "", false)
- if err != nil {
- panic(err)
- }
- os.Setenv("SQL_ADDRESS", "ab5cfc235d64e11e9b8280265f54018f-778641917.us-east-2.elb.amazonaws.com")
- os.Setenv("REMOTE_WRITE_PASSWORD", "savemoney123")
- data2, err := cm.ComputeCostDataRange(promCli, rclient, provider, startStr, endStr, "1h", "", "", true)
- if err != nil {
- panic(err)
- }
- agg := costModel.AggregateCostData(data, "namespace", []string{""}, provider, nil)
- agg2 := costModel.AggregateCostData(data2, "namespace", []string{""}, provider, nil)
- assert.Equal(t, agg["kubecost"].TotalCost, agg2["kubecost"].TotalCost)
- }
- */
|