github.com/prebid/prebid-server@v0.275.0/experiment/adscert/signer_test.go (about) 1 package adscert 2 3 import ( 4 "errors" 5 "github.com/IABTechLab/adscert/pkg/adscert/api" 6 "github.com/prebid/prebid-server/config" 7 "github.com/stretchr/testify/assert" 8 "testing" 9 ) 10 11 func TestNilSigner(t *testing.T) { 12 config := config.ExperimentAdsCert{Mode: "off", InProcess: config.AdsCertInProcess{Origin: ""}, Remote: config.AdsCertRemote{Url: ""}} 13 signer, err := NewAdCertsSigner(config) 14 assert.NoError(t, err, "error should not be returned if not inprocess nor remote signer defined, NilSigner should be returned instead") 15 message, err := signer.Sign("test.com", nil) 16 assert.NoError(t, err, "NilSigner should not return an error") 17 assert.Equal(t, "", message, "incorrect message returned NilSigner") 18 } 19 20 func TestNilSignerForAdsCertDisabled(t *testing.T) { 21 config := config.ExperimentAdsCert{Mode: "off", InProcess: config.AdsCertInProcess{Origin: ""}, Remote: config.AdsCertRemote{Url: ""}} 22 signer, err := NewAdCertsSigner(config) 23 assert.NoError(t, err, "error should not be returned if AdsCerts feature is disabled") 24 message, err := signer.Sign("test.com", nil) 25 assert.NoError(t, err, "NilSigner should not return an error") 26 assert.Equal(t, "", message, "incorrect message returned NilSigner") 27 } 28 29 type MockLocalAuthenticatedConnectionsSignatory struct { 30 returnError bool 31 operationStatusOk bool 32 } 33 34 func (ips *MockLocalAuthenticatedConnectionsSignatory) SignAuthenticatedConnection(request *api.AuthenticatedConnectionSignatureRequest) (*api.AuthenticatedConnectionSignatureResponse, error) { 35 if ips.returnError { 36 return nil, errors.New("Test error") 37 } 38 response := &api.AuthenticatedConnectionSignatureResponse{ 39 RequestInfo: &api.RequestInfo{ 40 SignatureInfo: []*api.SignatureInfo{ 41 {SignatureMessage: "Success"}, 42 }, 43 }, 44 } 45 if ips.operationStatusOk { 46 response.SignatureOperationStatus = api.SignatureOperationStatus_SIGNATURE_OPERATION_STATUS_OK 47 } else { 48 response.SignatureOperationStatus = api.SignatureOperationStatus_SIGNATURE_OPERATION_STATUS_UNDEFINED 49 } 50 return response, nil 51 } 52 func (ips *MockLocalAuthenticatedConnectionsSignatory) VerifyAuthenticatedConnection(request *api.AuthenticatedConnectionVerificationRequest) (*api.AuthenticatedConnectionVerificationResponse, error) { 53 return nil, nil 54 }