コード例 #1
0
static void contributorGetTest(Node& node, TestRunner& tr)
{
   tr.group("contributors");

   Messenger* messenger = node.getMessenger();

   tr.test("id");
   {
      Url url("/api/3.0/contributors/1");

      // get contributor
      DynamicObject contributor;
      assertNoException(
         messenger->getFromBitmunk(&url, contributor));

      printf("\nContributor:\n");
      dumpDynamicObject(contributor, false);
   }
   tr.passIfNoException();

   tr.test("owner");
   {
      Url url("/api/3.0/contributors/?owner=900");

      // get contributor
      DynamicObject contributors;
      assertNoException(
         messenger->getFromBitmunk(&url, contributors));

      printf("\nContributors:\n");
      dumpDynamicObject(contributors, false);
   }
   tr.passIfNoException();

   tr.test("media");
   {
      Url url("/api/3.0/contributors/?media=1");

      // get contributor
      DynamicObject contributors;
      assertNoException(
         messenger->getFromBitmunk(&url, contributors));

      printf("\nContributors:\n");
      dumpDynamicObject(contributors, false);
   }
   tr.passIfNoException();

   tr.ungroup();
}
コード例 #2
0
static void accountGetPerfTest(Node& node, TestRunner& tr)
{
   tr.group("accounts perf");

   Messenger* messenger = node.getMessenger();

   // number of loops
   int n = 25;

   tr.test("insecure get");
   {
      Url url("/api/3.0/accounts/?owner=900");

      uint64_t startTime = Timer::startTiming();
      for(int i = 0; i < n; ++i)
      {
         User user;
         messenger->getFromBitmunk(&url, user);
      }
      double dt = Timer::getSeconds(startTime);
      printf("t=%g ms, r=%g ms, r/s=%g",  dt * 1000.0, dt/n * 1000.0, n/dt);
   }
   tr.passIfNoException();

   tr.test("secure get");
   {
      Url url("/api/3.0/accounts/?owner=900");

      uint64_t startTime = Timer::startTiming();
      for(int i = 0; i < n; ++i)
      {
         User user;
         messenger->getFromBitmunk(&url, user, node.getDefaultUserId());
      }
      double dt = Timer::getSeconds(startTime);
      printf("t=%g ms, r=%g ms, r/s=%g",  dt * 1000.0, dt/n * 1000.0, n/dt);
   }
   tr.passIfNoException();

   tr.ungroup();
}
コード例 #3
0
static void pingPerfTest(Node& node, TestRunner& tr)
{
   tr.group("ping perf");

   Messenger* messenger = node.getMessenger();

   // number of loops for each test
   Config cfg = tr.getApp()->getConfig();
   //node.getConfigManager()->getConfig(
   //   tester->getApp()->getMetaConfig()["groups"]["main"]->getString());
   int n = cfg->hasMember("loops") ? cfg["loops"]->getInt32() : 50;

   tr.test("insecure get");
   {
      Url url("/api/3.0/system/test/ping");

      DynamicObject dummy;
      uint64_t startTime = Timer::startTiming();
      for(int i = 0; i < n; ++i)
      {
         messenger->getFromBitmunk(&url, dummy);
      }
      double dt = Timer::getSeconds(startTime);
      printf("t=%g ms, r=%g ms, r/s=%g",  dt * 1000.0, dt/n * 1000.0, n/dt);
   }
   tr.passIfNoException();

   tr.test("secure get");
   {
      Url url("/api/3.0/system/test/ping");

      DynamicObject dummy;
      uint64_t startTime = Timer::startTiming();
      for(int i = 0; i < n; ++i)
      {
         messenger->getSecureFromBitmunk(&url, dummy, node.getDefaultUserId());
      }
      double dt = Timer::getSeconds(startTime);
      printf("t=%g ms, r=%g ms, r/s=%g",  dt * 1000.0, dt/n * 1000.0, n/dt);
   }
   tr.passIfNoException();

   tr.ungroup();
}
コード例 #4
0
static void permissionGetTest(Node& node, TestRunner& tr)
{
   tr.group("permissions");

   Messenger* messenger = node.getMessenger();

   tr.test("group get");
   {
      // create url for obtaining permission group information
      Url url("/api/3.0/permissions/100");

      // get permission group
      PermissionGroup group;
      assertNoException(
         messenger->getFromBitmunk(&url, group));

      printf("\nGroup:\n");
      dumpDynamicObject(group, false);
   }
   tr.passIfNoException();

   tr.ungroup();
}
コード例 #5
0
static void mediaGetTest(Node& node, TestRunner& tr)
{
   tr.group("media");

   Messenger* messenger = node.getMessenger();

   tr.test("get");
   {
      // create url for obtaining media
      Url url("/api/3.0/media/2");

      // get media
      Media media;
      assertNoException(
         messenger->getFromBitmunk(&url, media));

      printf("\nMedia:\n");
      dumpDynamicObject(media, false);
   }
   tr.passIfNoException();

   tr.test("invalid get");
   {
      // create url for obtaining media
      Url url("/api/3.0/media/invalidMediaId");

      // get media
      Media media;
      messenger->getFromBitmunk(&url, media);
   }
   tr.passIfException();

   tr.test("all");
   {
      // create url for getting media
      Url url("/api/3.0/media/?start=0&num=5");

      // get results
      DynamicObject results;
      //assertNoException(
      //   messenger->getFromBitmunk(&url, results));

      printf("\nDISABLED FOR PERFORMANCE\n");
      /*
      printf("\nGetting 5 media starting at #0\n(of %" PRIu32 " found)\n",
         results["total"]->getUInt32());
      dumpDynamicObject(results, false);
      */
   }
   tr.passIfNoException();

   tr.test("owned");
   {
      // create url for searching media
      Url url("/api/3.0/media?owner=900");

      // get results
      DynamicObject results;
      assertNoException(
         messenger->getFromBitmunk(&url, results));

      printf("\nMedia owned by user 900\n");
      printf("Results %" PRIu32 "-%" PRIu32 " of %" PRIu32 "\n",
         results["start"]->getUInt32(),
         results["start"]->getUInt32() + results["num"]->getUInt32(),
         results["total"]->getUInt32());
      dumpDynamicObject(results, false);
   }
   tr.passIfNoException();

   tr.test("search");
   {
      // create url for searching media
      Url url("/api/3.0/media/?query=test&start=0&num=10");

      // get results
      DynamicObject results;
      assertNoException(
         messenger->getFromBitmunk(&url, results));

      printf("\nSearching media & contributors for 'test'\n");
      printf("Results %" PRIu32 "-%" PRIu32 " of %" PRIu32 "\n",
         results["start"]->getUInt32(),
         results["start"]->getUInt32() + results["num"]->getUInt32(),
         results["total"]->getUInt32());
      dumpDynamicObject(results, false);
   }
   tr.passIfNoException();

   tr.test("genre media");
   {
      // create url for searching media
      Url url("/api/3.0/media?type=audio&genre=165&start=4&num=5");

      // get results
      DynamicObject results;
      assertNoException(
         messenger->getFromBitmunk(&url, results));

      printf("\nAudio from genre 165\n");
      printf("Results %" PRIu32 "-%" PRIu32 " of %" PRIu32 "\n",
         results["start"]->getUInt32(),
         results["start"]->getUInt32() + results["num"]->getUInt32(),
         results["total"]->getUInt32());
      dumpDynamicObject(results, false);
   }
   tr.passIfNoException();

   tr.test("media list");
   {
      // create url for searching media
      Url url("/api/3.0/media?owner=1&list=1");

      // get results
      DynamicObject results;
      assertNoException(
         messenger->getFromBitmunk(&url, results));

      printf("\nMedia list %s\n", results["name"]->getString());
      printf("\"%s\"\n", results["description"]->getString());
      dumpDynamicObject(results, false);
   }
   tr.passIfNoException();

   tr.ungroup();
}