selfping_actor_ut.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "selfping_actor.h"
  2. #include <library/cpp/testing/unittest/registar.h>
  3. #include <library/cpp/actors/testlib/test_runtime.h>
  4. namespace NActors {
  5. namespace Tests {
  6. THolder<TTestActorRuntimeBase> CreateRuntime() {
  7. auto runtime = MakeHolder<TTestActorRuntimeBase>();
  8. runtime->SetScheduledEventFilter([](auto&&, auto&&, auto&&, auto&&) { return false; });
  9. runtime->Initialize();
  10. return runtime;
  11. }
  12. Y_UNIT_TEST_SUITE(TSelfPingTest) {
  13. Y_UNIT_TEST(Basic)
  14. {
  15. auto runtime = CreateRuntime();
  16. //const TActorId sender = runtime.AllocateEdgeActor();
  17. NMonitoring::TDynamicCounters::TCounterPtr counter(new NMonitoring::TCounterForPtr());
  18. NMonitoring::TDynamicCounters::TCounterPtr counter2(new NMonitoring::TCounterForPtr());
  19. NMonitoring::TDynamicCounters::TCounterPtr counter3(new NMonitoring::TCounterForPtr());
  20. NMonitoring::TDynamicCounters::TCounterPtr counter4(new NMonitoring::TCounterForPtr());
  21. auto actor = CreateSelfPingActor(
  22. TDuration::MilliSeconds(100), // sendInterval (unused in test)
  23. counter, counter2, counter3, counter4);
  24. UNIT_ASSERT_VALUES_EQUAL(counter->Val(), 0);
  25. UNIT_ASSERT_VALUES_EQUAL(counter2->Val(), 0);
  26. UNIT_ASSERT_VALUES_EQUAL(counter3->Val(), 0);
  27. UNIT_ASSERT_VALUES_EQUAL(counter4->Val(), 0);
  28. const TActorId actorId = runtime->Register(actor);
  29. Y_UNUSED(actorId);
  30. //runtime.Send(new IEventHandle(actorId, sender, new TEvSelfPing::TEvPing(0.0)));
  31. // TODO check after events are handled
  32. //Sleep(TDuration::Seconds(1));
  33. //UNIT_ASSERT((intmax_t)counter->Val() >= (intmax_t)Delay.MicroSeconds());
  34. }
  35. }
  36. } // namespace Tests
  37. } // namespace NActors