github.com/stakater/IngressMonitorController@v1.0.103/pkg/monitors/pingdom/pingdom-monitor_test.go (about)

     1  package pingdom
     2  
     3  import (
     4  	log "github.com/sirupsen/logrus"
     5  	"testing"
     6  
     7  	"github.com/stakater/IngressMonitorController/pkg/config"
     8  	"github.com/stakater/IngressMonitorController/pkg/models"
     9  	"github.com/stakater/IngressMonitorController/pkg/util"
    10  )
    11  
    12  func TestAddMonitorWithCorrectValues(t *testing.T) {
    13  	config := config.GetControllerConfig()
    14  
    15  	service := PingdomMonitorService{}
    16  	provider := util.GetProviderWithName(config, "Pingdom")
    17  	if provider == nil {
    18  		// TODO: Currently forcing to pass the test as we dont have Pingdom account to test
    19  		//       Fail this case in future when have a valid Pingdom account
    20  		log.Error("Failed to find provider")
    21  		return
    22  	}
    23  	service.Setup(*provider)
    24  	m := models.Monitor{Name: "google-test", URL: "https://google1.com"}
    25  	service.Add(m)
    26  
    27  	mRes, err := service.GetByName("google-test")
    28  
    29  	if err != nil {
    30  		t.Error("Error: " + err.Error())
    31  	}
    32  	if mRes.Name != m.Name || mRes.URL != m.URL {
    33  		t.Error("URL and name should be the same")
    34  	}
    35  	service.Remove(*mRes)
    36  	monitor, err := service.GetByName(mRes.Name)
    37  
    38  	if monitor != nil {
    39  		t.Error("Monitor should've been deleted ", monitor, err)
    40  	}
    41  }
    42  
    43  func TestUpdateMonitorWithCorrectValues(t *testing.T) {
    44  	config := config.GetControllerConfig()
    45  
    46  	service := PingdomMonitorService{}
    47  
    48  	provider := util.GetProviderWithName(config, "Pingdom")
    49  	if provider == nil {
    50  		// TODO: Currently forcing to pass the test as we dont have Pingdom account to test
    51  		//       Fail this case in future when have a valid Pingdom account
    52  		log.Error("Failed to find provider")
    53  		return
    54  	}
    55  	service.Setup(*provider)
    56  
    57  	m := models.Monitor{Name: "google-test", URL: "https://google.com"}
    58  	service.Add(m)
    59  
    60  	mRes, err := service.GetByName("google-test")
    61  
    62  	if err != nil {
    63  		t.Error("Error: " + err.Error())
    64  	}
    65  	if mRes.Name != m.Name || mRes.URL != m.URL {
    66  		t.Error("URL and name should be the same")
    67  	}
    68  
    69  	mRes.URL = "https://facebook.com"
    70  
    71  	service.Update(*mRes)
    72  
    73  	mRes, err = service.GetByName("google-test")
    74  
    75  	if err != nil {
    76  		t.Error("Error: " + err.Error())
    77  	}
    78  	if mRes.URL != "https://facebook.com" {
    79  		t.Error("URL and name should be the same")
    80  	}
    81  
    82  	service.Remove(*mRes)
    83  
    84  	monitor, err := service.GetByName(mRes.Name)
    85  
    86  	if monitor != nil {
    87  		t.Error("Monitor should've been deleted ", monitor, err)
    88  	}
    89  }