github.com/angryronald/go-kit@v0.0.0-20240505173814-ff2bd9c79dbf/test/docker/mockserver/mockserver.service_test.go (about)

     1  package mockserver
     2  
     3  import (
     4  	"fmt"
     5  	"net/http"
     6  	"testing"
     7  )
     8  
     9  func TestMockRequest(t *testing.T) {
    10  	// Initialize the mock server client
    11  	// _ = ms.Init()
    12  	StartMockServer()
    13  	defer StopMockServer()
    14  
    15  	// Test a successful mock request
    16  	err := MockRequest("GET", "/test", nil, map[string]string{"Content-Type": "application/json"})
    17  	if err != nil {
    18  		t.Errorf("MockRequest returned an error: %v", err)
    19  	}
    20  
    21  	req, err := http.NewRequest(http.MethodGet, fmt.Sprintf("http://%s:%d/test", host, port), nil)
    22  	if err != nil {
    23  		t.Errorf("Failing to call the mockserver endpoint: %v", err)
    24  	}
    25  	req.Header.Set("Content-Type", "application/json")
    26  
    27  	client := &http.Client{}
    28  	response, err := client.Do(req)
    29  	if err != nil {
    30  		t.Errorf("Error sending request: %v", err)
    31  		return
    32  	}
    33  	defer response.Body.Close()
    34  
    35  	if response.StatusCode != http.StatusOK {
    36  		t.Errorf("got %v, should be %v", response.StatusCode, http.StatusOK)
    37  	}
    38  }
    39  
    40  // func TestRemoveMockRequest(t *testing.T) {
    41  // 	// Initialize the mock server client
    42  // 	// _ = ms.Init()
    43  
    44  // 	StartMockServer()
    45  // 	defer StopMockServer()
    46  
    47  // 	// Mock a request to be removed
    48  // 	_ = MockRequest("DELETE", "/remove", nil, nil)
    49  
    50  // 	// Test removing an existing mock request
    51  // 	err := RemoveMockRequest("DELETE", "/remove", nil, nil)
    52  // 	if err != nil {
    53  // 		t.Errorf("RemoveMockRequest returned an error: %v", err)
    54  // 	}
    55  
    56  // 	req, err := http.NewRequest(http.MethodDelete, fmt.Sprintf("http://%s:%d/remove", host, port), nil)
    57  // 	if err != nil {
    58  // 		t.Errorf("Failing to call the mockserver endpoint: %v", err)
    59  // 	}
    60  
    61  // 	client := &http.Client{}
    62  // 	response, err := client.Do(req)
    63  // 	if err != nil {
    64  // 		t.Errorf("Error sending request: %v", err)
    65  // 		return
    66  // 	}
    67  // 	defer response.Body.Close()
    68  
    69  // 	if response.StatusCode != http.StatusNotFound {
    70  // 		t.Errorf("got %v, should be %v", response.StatusCode, http.StatusNotFound)
    71  // 	}
    72  // }
    73  
    74  func TestGetPort(t *testing.T) {
    75  	// Get the port from the mock server client
    76  	p := GetPort()
    77  
    78  	// Verify that the returned port is greater than 0
    79  	if p <= 0 {
    80  		t.Errorf("GetPort returned an invalid port number: %d", p)
    81  	}
    82  }