/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
cloud/blockstore/libs/endpoints_vhost/vhost_server_ut.cpp
113 строк
3 KB
Grigoriy Yurgin
[Blockstore] Drop discard requests when needed (fixed version of #5626) (#5771)
20 апр 2026, 21:54
Не верифицирован
20 апр 2026, 21:54
d7d8036
Код
Авторство
О чём код?
#include "vhost_server.h" #include <cloud/blockstore/libs/common/constants.h> #include <cloud/storage/core/protos/media.pb.h> #include <library/cpp/testing/unittest/registar.h> namespace NCloud::NBlockStore::NServer { //////////////////////////////////////////////////////////////////////////////// Y_UNIT_TEST_SUITE(TVhostEndpointTest) { Y_UNIT_TEST(ShouldSetDiscardEnabledOptionCorrectly) { { NProto::TVolume volume; volume.SetVhostDiscardEnabled(true); volume.SetStorageMediaKind(NCloud::NProto::STORAGE_MEDIA_SSD); UNIT_ASSERT_VALUES_EQUAL( true, ShouldEnableVhostDiscardForVolume(true, volume)); UNIT_ASSERT_VALUES_EQUAL( true, ShouldEnableVhostDiscardForVolume(false, volume)); } { NProto::TVolume volume; volume.SetVhostDiscardEnabled(false); volume.SetStorageMediaKind(NCloud::NProto::STORAGE_MEDIA_SSD); UNIT_ASSERT_VALUES_EQUAL( true, ShouldEnableVhostDiscardForVolume(true, volume)); UNIT_ASSERT_VALUES_EQUAL( false, ShouldEnableVhostDiscardForVolume(false, volume)); } { NProto::TVolume volume; volume.SetVhostDiscardEnabled(true); volume.SetStorageMediaKind( NCloud::NProto::STORAGE_MEDIA_SSD_NONREPLICATED); UNIT_ASSERT_VALUES_EQUAL( false, ShouldEnableVhostDiscardForVolume(true, volume)); UNIT_ASSERT_VALUES_EQUAL( false, ShouldEnableVhostDiscardForVolume(false, volume)); } { NProto::TVolume volume; volume.SetVhostDiscardEnabled(false); volume.SetStorageMediaKind( NCloud::NProto::STORAGE_MEDIA_SSD_NONREPLICATED); UNIT_ASSERT_VALUES_EQUAL( false, ShouldEnableVhostDiscardForVolume(true, volume)); UNIT_ASSERT_VALUES_EQUAL( false, ShouldEnableVhostDiscardForVolume(false, volume)); } } Y_UNIT_TEST(ShouldDropDiscardRequestsCorrectly) { { NProto::TVolume volume; volume.SetStorageMediaKind(NCloud::NProto::STORAGE_MEDIA_SSD); UNIT_ASSERT_VALUES_EQUAL( true, ShouldDropDiscardRequestsForVolume(true, volume)); } { NProto::TVolume volume; volume.SetStorageMediaKind(NCloud::NProto::STORAGE_MEDIA_SSD); UNIT_ASSERT_VALUES_EQUAL( false, ShouldDropDiscardRequestsForVolume(false, volume)); } { NProto::TVolume volume; volume.SetStorageMediaKind(NCloud::NProto::STORAGE_MEDIA_SSD); (*volume.MutableTags())[TString(DropDiscardRequestsTagName)] = ""; UNIT_ASSERT_VALUES_EQUAL( true, ShouldDropDiscardRequestsForVolume(false, volume)); } { NProto::TVolume volume; volume.SetStorageMediaKind( NCloud::NProto::STORAGE_MEDIA_SSD_NONREPLICATED); UNIT_ASSERT_VALUES_EQUAL( true, ShouldDropDiscardRequestsForVolume(false, volume)); } } } } // namespace NCloud::NBlockStore::NServer