github.com/baptiste-b-pegasys/quorum/v22@v22.4.2/private/engine/common_test.go (about) 1 package engine 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestPrivacyFlag_whenTypical(t *testing.T) { 10 assert := assert.New(t) 11 12 flag := PrivacyFlagPartyProtection | PrivacyFlagStateValidation 13 14 assert.True(flag.Has(PrivacyFlagStateValidation)) 15 } 16 17 func TestPrivacyFlag_whenCheckingMultipleFlags(t *testing.T) { 18 assert := assert.New(t) 19 20 flag := PrivacyFlagPartyProtection 21 22 assert.False(flag.Has(PrivacyFlagStateValidation | PrivacyFlagPartyProtection)) 23 } 24 25 func TestPrivacyFlag_whenCheckingMultipleFlagsArray(t *testing.T) { 26 assert := assert.New(t) 27 28 flag := PrivacyFlagStateValidation | PrivacyFlagPartyProtection 29 30 assert.True(flag.HasAll(PrivacyFlagStateValidation, PrivacyFlagPartyProtection)) 31 } 32 33 func TestPrivacyFlag_whenCheckingStandardPrivateFlag(t *testing.T) { 34 assert := assert.New(t) 35 36 flag := PrivacyFlagStandardPrivate 37 38 assert.True(flag.IsStandardPrivate()) 39 } 40 41 func TestPrivacyFlag_whenCheckingNotStandardPrivateFlag(t *testing.T) { 42 assert := assert.New(t) 43 44 flag := PrivacyFlagPartyProtection 45 46 assert.True(flag.IsNotStandardPrivate()) 47 } 48 49 func TestPrivacyFlag_whenPrivateStateValidation(t *testing.T) { 50 assert := assert.New(t) 51 52 t.Logf("PrivateFlagStateValidation: %d", PrivacyFlagStateValidation) 53 54 assert.True(PrivacyFlagStateValidation.Has(PrivacyFlagPartyProtection), "State Validation must have party protection by default") 55 } 56 57 func TestPrivacyFlag_whenMandatoryRecipients(t *testing.T) { 58 assert := assert.New(t) 59 60 flag := PrivacyFlagMandatoryRecipients 61 62 assert.NoError(flag.Validate()) 63 assert.True(flag.Has(PrivacyFlagMandatoryRecipients)) 64 assert.True(PrivacyFlagStateValidation.Has(flag)) 65 66 } 67 68 func TestPrivacyFlagType_Validate_whenSuccess(t *testing.T) { 69 assert := assert.New(t) 70 71 flag := PrivacyFlagStateValidation 72 73 assert.NoError(flag.Validate()) 74 } 75 76 func TestPrivacyFlagType_Validate_whenFailure(t *testing.T) { 77 assert := assert.New(t) 78 79 flag := PrivacyFlagType(4) 80 81 assert.Error(flag.Validate()) 82 } 83 84 func TestFeatureSet_HasFeature(t *testing.T) { 85 assert := assert.New(t) 86 87 featureSet := NewFeatureSet(PrivacyEnhancements, MultiTenancy, MultiplePrivateStates, MandatoryRecipients) 88 assert.True(featureSet.HasFeature(MandatoryRecipients)) 89 assert.True(featureSet.HasFeature(MultiplePrivateStates)) 90 }