[ https://issues.apache.org/jira/browse/IGNITE-19093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey Mashenkov updated IGNITE-19093: -------------------------------------- Description: *Motivation.* Some components depends on MetaStorage API and doesn’t tested well. In tests, we either have to create "100500" mocks, which doesn’t implement any quasi-real behaviour (e.g. we skip serialization step), or have to implement end-to-end test and start-up real nodes. See {{DistributionZoneManagerConfigurationChangesTest}} Here, initialization of all the mocks looks longer than the tests themselves. And we copy-paste this boilerplate code everywhere, when we need a bit more than stupid stub. *Suggestion* Let's * create standalone version of MetaStorage for test purposes, which will just push raft command directly to a metastorage listener. * replace boilerplate code in tests with new metastorage implementation. was: *Motivation.* Some components depends on MetaStorage API and doesn’t tested well. In tests, we either have to create 100500 mocks, which doesn’t implement any quasi-real behaviour (e.g. we skip serialization step), or have to implement end-to-end test and start-up real nodes. See {{DistributionZoneManagerConfigurationChangesTest}} Here, initialization of all the mocks looks longer than the tests themselves. And we copy-paste this boilerplate code everywhere, when we need a bit more than stupid stub. *Suggestion* Let's * create standalone version of MetaStorage for test purposes, which will just push raft command directly to a metastorage listener. * replace boilerplate code in tests with new metastorage implementation. > Create standalone MetaStorage implementation for test purposes > -------------------------------------------------------------- > > Key: IGNITE-19093 > URL: https://issues.apache.org/jira/browse/IGNITE-19093 > Project: Ignite > Issue Type: Improvement > Reporter: Andrey Mashenkov > Assignee: Andrey Mashenkov > Priority: Major > Labels: ignite-3 > Fix For: 3.0.0-beta2 > > > *Motivation.* > Some components depends on MetaStorage API and doesn’t tested well. > In tests, we either have to create "100500" mocks, which doesn’t implement > any quasi-real behaviour (e.g. we skip serialization step), or have to > implement end-to-end test and start-up real nodes. > See {{DistributionZoneManagerConfigurationChangesTest}} > Here, initialization of all the mocks looks longer than the tests themselves. > And we copy-paste this boilerplate code everywhere, when we need a bit more > than stupid stub. > *Suggestion* > Let's > * create standalone version of MetaStorage for test purposes, which will just > push raft command directly to a metastorage listener. > * replace boilerplate code in tests with new metastorage implementation. -- This message was sent by Atlassian Jira (v8.20.10#820010)