You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Mashenkov (Jira)" <ji...@apache.org> on 2023/03/22 10:23:00 UTC
[jira] [Updated] (IGNITE-19093) Create standalone MetaStorage implementation for test purposes
[ 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)