All checks were successful
* Add plugin option for protogen in Makefile * Fix the generator for the plugin in util/protogen * Erase convertable types, move helpful methods to gRPC protobufs * Erase helpers for convertations * Generate StableMarshlal/StableSize for protobufs by the protoc plugin Signed-off-by: Airat Arifullin a.arifullin@yadro.com
59 lines
1.7 KiB
Go
59 lines
1.7 KiB
Go
package container_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
container "git.frostfs.info/TrueCloudLab/aarifullin/v2/container/grpc"
|
|
containertest "git.frostfs.info/TrueCloudLab/aarifullin/v2/container/test"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestContainer_HomomorphicHashingDisabled(t *testing.T) {
|
|
cnr := containertest.GenerateContainer(false)
|
|
|
|
t.Run("defaults", func(t *testing.T) {
|
|
require.True(t, cnr.HomomorphicHashingState())
|
|
})
|
|
|
|
t.Run("disabled", func(t *testing.T) {
|
|
attr := new(container.Container_Attribute)
|
|
attr.SetKey(container.SysAttributeHomomorphicHashing)
|
|
attr.SetValue("NOT_true")
|
|
|
|
cnr.SetAttributes(append(cnr.GetAttributes(), attr))
|
|
require.True(t, cnr.HomomorphicHashingState())
|
|
|
|
attr.SetValue("true")
|
|
|
|
cnr.SetAttributes([]*container.Container_Attribute{attr})
|
|
require.False(t, cnr.HomomorphicHashingState())
|
|
})
|
|
}
|
|
|
|
func TestContainer_SetHomomorphicHashingState(t *testing.T) {
|
|
cnr := containertest.GenerateContainer(false)
|
|
attrs := cnr.GetAttributes()
|
|
attrLen := len(attrs)
|
|
|
|
cnr.SetHomomorphicHashingState(true)
|
|
|
|
// enabling hashing should not add any new attributes
|
|
require.Equal(t, attrLen, len(cnr.GetAttributes()))
|
|
require.True(t, cnr.HomomorphicHashingState())
|
|
|
|
cnr.SetHomomorphicHashingState(false)
|
|
|
|
// disabling hashing should add exactly one attribute
|
|
require.Equal(t, attrLen+1, len(cnr.GetAttributes()))
|
|
require.False(t, cnr.HomomorphicHashingState())
|
|
|
|
cnr.SetHomomorphicHashingState(true)
|
|
|
|
// enabling hashing should remove 1 attribute if
|
|
// hashing was disabled before
|
|
require.Equal(t, attrLen, len(cnr.GetAttributes()))
|
|
require.True(t, cnr.HomomorphicHashingState())
|
|
|
|
// hashing operations should not change any other attributes
|
|
require.ElementsMatch(t, attrs, cnr.GetAttributes())
|
|
}
|