github.com/zmap/zlint@v1.1.0/lints/lint_onion_subject_validity_time_too_large_test.go (about)

     1  package lints
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  )
     7  
     8  func TestTorValidityTooLarge(t *testing.T) {
     9  	testCases := []struct {
    10  		Name           string
    11  		InputFilename  string
    12  		ExpectedResult LintStatus
    13  	}{
    14  		{
    15  			Name:           "Onion subject, long expiry before util.OnionOnlyEVDate",
    16  			InputFilename:  "onionSANLongExpiryPreBallot.pem",
    17  			ExpectedResult: NE,
    18  		},
    19  		{
    20  			Name:           "Onion subject, long expiry, after util.OnionOnlyEVDate",
    21  			InputFilename:  "onionSANLongExpiry.pem",
    22  			ExpectedResult: Error,
    23  		},
    24  		{
    25  			Name:           "Onion subject, valid expiry",
    26  			InputFilename:  "onionSANGoodExpiry.pem",
    27  			ExpectedResult: Pass,
    28  		},
    29  	}
    30  
    31  	for _, tc := range testCases {
    32  		t.Run(tc.Name, func(t *testing.T) {
    33  			inputPath := fmt.Sprintf("%s%s", testCaseDir, tc.InputFilename)
    34  			result := Lints["e_onion_subject_validity_time_too_large"].Execute(ReadCertificate(inputPath))
    35  			if result.Status != tc.ExpectedResult {
    36  				t.Errorf("expected result %v was %v", tc.ExpectedResult, result.Status)
    37  			}
    38  		})
    39  	}
    40  
    41  }