...

Source file src/edge-infra.dev/pkg/lib/promassert/simple_test.go

Documentation: edge-infra.dev/pkg/lib/promassert

     1  //nolint:dupl
     2  package promassert_test
     3  
     4  import (
     5  	"testing"
     6  
     7  	"edge-infra.dev/pkg/lib/promassert"
     8  )
     9  
    10  func TestSimpleAssertions(t *testing.T) {
    11  	var mets = []promassert.ParsedMetrics{
    12  		promassert.Counter(c1name),
    13  		promassert.Gauge(g1name),
    14  	}
    15  	for _, p := range mets {
    16  		var happyResults = []bool{
    17  			p.Exists(t),
    18  			p.Equals(t, c1value),
    19  			p.NotEquals(t, c1value+1),
    20  			p.GreaterThan(t, c1value-1),
    21  			p.GreaterThanOrEquals(t, c1value),
    22  			p.GreaterThanOrEquals(t, c1value-1),
    23  			p.LessThan(t, c1value+1),
    24  			p.LessThanOrEquals(t, c1value),
    25  			p.LessThanOrEquals(t, c1value+1),
    26  		}
    27  
    28  		// Ensure all the happy tests returned true.
    29  		for i, result := range happyResults {
    30  			if !result {
    31  				t.Errorf("Happy assertion %d should have returned true", i)
    32  			}
    33  		}
    34  
    35  		var sadResults = []bool{
    36  			p.NotExists(nil),
    37  			p.Equals(nil, c1value+1),
    38  			p.NotEquals(nil, c1value),
    39  			p.GreaterThan(nil, c1value),
    40  			p.GreaterThan(nil, c1value+1),
    41  			p.GreaterThanOrEquals(nil, c1value+1),
    42  			p.LessThan(nil, c1value),
    43  			p.LessThan(nil, c1value-1),
    44  			p.LessThanOrEquals(nil, c1value-1),
    45  			p.LabelKeysExist(nil, cv1keys...),
    46  			p.IsNaN(nil),
    47  			p.IsInf(nil, 0),
    48  		}
    49  
    50  		for i, result := range sadResults {
    51  			if result {
    52  				t.Errorf("Sad assertion %d should have returned false", i)
    53  			}
    54  		}
    55  	}
    56  }
    57  
    58  func TestSimpleVectorAssertions(t *testing.T) {
    59  	// test the assertions on an unfiltered vecs
    60  	var mets = []promassert.ParsedMetrics{
    61  		promassert.Counter(cv1name),
    62  		promassert.Gauge(gv1name),
    63  	}
    64  	const sum = cv1value1 + cv1value2 + cv1value3 + cv1value4
    65  	for _, p := range mets {
    66  		var happyResults = []bool{
    67  			p.Exists(t),
    68  			p.Equals(t, sum),
    69  			p.NotEquals(t, 0),
    70  			p.GreaterThan(t, sum-1),
    71  			p.GreaterThanOrEquals(t, sum-1),
    72  			p.GreaterThanOrEquals(t, sum),
    73  			p.LessThan(t, sum+1),
    74  			p.LessThanOrEquals(t, sum+1),
    75  			p.LessThanOrEquals(t, sum),
    76  			p.LabelKeysExist(t, cv1keys[0]),
    77  			p.LabelKeysExist(t, cv1keys[1]),
    78  			p.LabelKeysExist(t, cv1keys[2]),
    79  			p.LabelKeysExist(t, cv1keys[0], cv1keys[1]),
    80  			p.LabelKeysExist(t, cv1keys[1], cv1keys[0]),
    81  			p.LabelKeysExist(t, cv1keys[0], cv1keys[2]),
    82  			p.LabelKeysExist(t, cv1keys[2], cv1keys[0]),
    83  			p.LabelKeysExist(t, cv1keys[1], cv1keys[2]),
    84  			p.LabelKeysExist(t, cv1keys[2], cv1keys[1]),
    85  			p.LabelKeysExist(t, cv1keys...),
    86  			p.LabelKeysExist(t, cv1keys[0], cv1keys[2], cv1keys[1]),
    87  			p.LabelKeysExist(t, cv1keys[1], cv1keys[0], cv1keys[2]),
    88  			p.LabelKeysExist(t, cv1keys[1], cv1keys[2], cv1keys[0]),
    89  			p.LabelKeysExist(t, cv1keys[2], cv1keys[0], cv1keys[1]),
    90  			p.LabelKeysExist(t, cv1keys[2], cv1keys[1], cv1keys[0]),
    91  		}
    92  		for i, result := range happyResults {
    93  			if !result {
    94  				t.Errorf("Happy vec assertion %d should have returned true", i)
    95  			}
    96  		}
    97  
    98  		var sadResults = []bool{
    99  			p.NotExists(nil),
   100  			p.Equals(nil, 0),
   101  			p.NotEquals(nil, sum),
   102  			p.GreaterThan(nil, sum),
   103  			p.GreaterThan(nil, sum+1),
   104  			p.GreaterThanOrEquals(nil, sum+1),
   105  			p.LessThan(nil, sum),
   106  			p.LessThan(nil, sum-1),
   107  			p.LessThanOrEquals(nil, sum-1),
   108  			p.LabelKeysExist(nil, "asdf"),
   109  			p.IsNaN(nil),
   110  			p.IsInf(nil, 0),
   111  		}
   112  		for i, result := range sadResults {
   113  			if result {
   114  				t.Errorf("Sad vec assertion %d should have returned false", i)
   115  			}
   116  		}
   117  	}
   118  }
   119  

View as plain text