コード例 #1
0
ファイル: ApiTestCase.php プロジェクト: bzis/zomba
 /**
  * @param User   $user
  * @param string $method
  * @param string $url
  * @param array  $parameters
  *
  * @return Crawler
  */
 protected function sendRequest(User $user, $method, $url, $parameters = array())
 {
     $tokenManager = static::$container->get('vifeed.user.wsse_token_manager');
     $token = $tokenManager->getUserToken($user->getId());
     $created = (new \DateTime())->format('Y-m-d H:i:s');
     $nonce = md5($created . rand());
     $digest = base64_encode(sha1(base64_decode($nonce) . $created . $token, true));
     $server = array('HTTP_x-wsse' => 'UsernameToken Username="******", ' . 'PasswordDigest="' . $digest . '", ' . 'Nonce="' . $nonce . '", Created="' . $created . '"');
     return self::$client->request($method, $url, $parameters, array(), $server);
 }
コード例 #2
0
 protected static function loadTestFixtures()
 {
     /** @var EntityManager $entityManager */
     $entityManager = self::$em;
     $paymentManager = self::$container->get('vifeed.payment.video_view_payment_manager');
     $userManager = self::$container->get('fos_user.user_manager');
     $advertiser0 = new User();
     $advertiser0->setType(User::TYPE_ADVERTISER)->setEmail('*****@*****.**')->setUsername('*****@*****.**')->setEnabled(true)->setBalance(0)->setPlainPassword('12345');
     $userManager->updateCanonicalFields($advertiser0);
     $advertiser1 = new User();
     $advertiser1->setType(User::TYPE_ADVERTISER)->setEmail('*****@*****.**')->setUsername('*****@*****.**')->setEnabled(true)->setBalance(0)->setPlainPassword('12345');
     $userManager->updateCanonicalFields($advertiser1);
     $publisher = new User();
     $publisher->setType(User::TYPE_PUBLISHER)->setEmail('*****@*****.**')->setUsername('*****@*****.**')->setBalance(0)->setEnabled(true)->setPlainPassword('12345');
     $userManager->updateCanonicalFields($publisher);
     $campaign0 = new Campaign();
     $campaign0->setUser($advertiser0)->setName('111')->setBid(1)->setGeneralBudget(100)->setBalance(100)->setDailyBudget(0)->setStatus(Campaign::STATUS_ON)->setHash('123');
     $campaign1 = new Campaign();
     $campaign1->setUser($advertiser1)->setName('222')->setBid(2)->setGeneralBudget(100)->setBalance(100)->setDailyBudget(0)->setHash('123')->setStatus(Campaign::STATUS_ON);
     $platform0 = new Platform();
     $platform0->setUser($publisher)->setUrl('123')->setName('111')->setDescription('123');
     $entityManager->persist($advertiser0);
     $entityManager->persist($advertiser1);
     $entityManager->persist($publisher);
     $entityManager->persist($campaign0);
     $entityManager->persist($campaign1);
     $entityManager->persist($platform0);
     $views = [];
     for ($i = 0; $i < 10; $i++) {
         $views[$i] = new VideoView();
         $views[$i]->setCampaign($campaign0)->setPlatform($platform0)->setCurrentTime(30)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 0, 0)->format('U'))->setTrackNumber(30)->setIp(11111 + $i)->setViewerId(md5($i));
         $entityManager->persist($views[$i]);
         $views[$i + 10] = new VideoView();
         $views[$i + 10]->setCampaign($campaign1)->setPlatform($platform0)->setCurrentTime(30)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 0, 0)->format('U'))->setTrackNumber(30)->setIp(11111 + $i + 10)->setViewerId(md5($i + 10));
         $entityManager->persist($views[$i + 10]);
     }
     $entityManager->flush();
     foreach ($views as $view) {
         $paymentManager->reckon($view);
     }
     self::$em->refresh($publisher);
     self::$em->refresh($advertiser0);
     self::$em->refresh($advertiser1);
     self::$em->refresh($campaign0);
     self::$em->refresh($campaign1);
     $fixtures = ['advertisers' => [$advertiser0, $advertiser1], 'publisher' => $publisher, 'campaigns' => [$campaign0, $campaign1], 'platofrms' => [$platform0], 'views' => $views];
     return $fixtures;
 }
コード例 #3
0
 protected static function loadTestFixtures()
 {
     /** @var EntityManager $entityManager */
     $entityManager = self::$em;
     $userManager = self::$container->get('fos_user.user_manager');
     $advertiser = new User();
     $advertiser->setType(User::TYPE_ADVERTISER)->setEmail('*****@*****.**')->setUsername('*****@*****.**')->setEnabled(true)->setPlainPassword('12345');
     $userManager->updateCanonicalFields($advertiser);
     $publisher = new User();
     $publisher->setType(User::TYPE_PUBLISHER)->setEmail('*****@*****.**')->setEnabled(true)->setUsername('*****@*****.**')->setPlainPassword('12345');
     $userManager->updateCanonicalFields($publisher);
     $campaign1 = new Campaign();
     $campaign1->setUser($advertiser)->setName('111')->setBid(1)->setGeneralBudget(100)->setBalance(100)->setDailyBudget(0)->setStatus(Campaign::STATUS_ON)->setHash('123');
     $campaign2 = new Campaign();
     $campaign2->setUser($advertiser)->setName('222')->setBid(1)->setGeneralBudget(100)->setBalance(100)->setDailyBudget(0)->setHash('123')->setStatus(Campaign::STATUS_ON)->setYoutubeData('duration', 4);
     $campaigns = [];
     for ($i = 0; $i < 8; $i++) {
         $campaigns[$i] = new Campaign();
         $campaigns[$i]->setUser($advertiser)->setName($i)->setBid(1)->setGeneralBudget(100)->setBalance(100)->setDailyBudget(0)->setStatus(Campaign::STATUS_ON)->setHash('123' . $i);
         $entityManager->persist($campaigns[$i]);
     }
     $platform1 = new Platform();
     $platform1->setUser($publisher)->setUrl('123')->setName('111')->setDescription('123');
     $view0 = new VideoView();
     $view0->setCampaign($campaign1)->setPlatform($platform1)->setCurrentTime(10)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 0, 0)->format('U'))->setTrackNumber(10)->setIp(11111)->setViewerId(md5(1));
     $view1 = new VideoView();
     $view1->setCampaign($campaign2)->setPlatform($platform1)->setCurrentTime(3)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 0, 0)->format('U'))->setTrackNumber(3)->setIp(11112)->setViewerId(md5(1));
     $view2 = new VideoView();
     $view2->setCampaign($campaign1)->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('-35 day'))->setTime(0, 0, 0)->format('U'))->setTrackNumber(50)->setIp(11113)->setViewerId(md5(1));
     $view3 = new VideoView();
     $view3->setCampaign($campaign2)->setPlatform($platform1)->setCurrentTime(3)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 0, 0)->format('U'))->setTrackNumber(3)->setIp(11114)->setViewerId(md5(1));
     $view4 = new VideoView();
     $view4->setCampaign($campaign1)->setPlatform($platform1)->setCurrentTime(39)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 0, 0)->format('U'))->setTrackNumber(39)->setIp(11115)->setViewerId(md5(1));
     // для теста на ip-filter1 - начало
     $view5 = new VideoView();
     $view5->setCampaign($campaigns[0])->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 0, 1)->format('U'))->setTrackNumber(50)->setIp(11116)->setViewerId(md5(2));
     $view6 = new VideoView();
     $view6->setCampaign($campaigns[1])->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 7, 1)->format('U'))->setTrackNumber(50)->setIp(11116)->setViewerId(md5(3));
     $view7 = new VideoView();
     $view7->setCampaign($campaigns[2])->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 10, 2)->format('U'))->setTrackNumber(50)->setIp(11116)->setViewerId(md5(4));
     $view8 = new VideoView();
     $view8->setCampaign($campaigns[3])->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 20, 3)->format('U'))->setTrackNumber(50)->setIp(11116)->setViewerId(md5(5));
     $view9 = new VideoView();
     $view9->setCampaign($campaigns[4])->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 30, 4)->format('U'))->setTrackNumber(50)->setIp(11116)->setViewerId(md5(6));
     $view10 = new VideoView();
     $view10->setCampaign($campaigns[5])->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('yesterday'))->setTime(0, 40, 5)->format('U'))->setTrackNumber(50)->setIp(11116)->setViewerId(md5(7));
     $view11 = new VideoView();
     $view11->setCampaign($campaigns[6])->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('yesterday'))->setTime(10, 0, 0)->format('U'))->setTrackNumber(50)->setIp(11116)->setViewerId(md5(8));
     $view12 = new VideoView();
     $view12->setCampaign($campaigns[7])->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('today'))->setTime(0, 40, 6)->format('U'))->setTrackNumber(50)->setIp(11116)->setViewerId(md5(9));
     // для теста на ip-filter1 - конец
     // для теста на ip-filter2 - начало
     $view13 = new VideoView();
     $view13->setCampaign($campaign1)->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('-1 year'))->setTime(0, 0, 0)->format('U'))->setTrackNumber(50)->setIp(11117)->setViewerId(md5(10));
     $view14 = new VideoView();
     $view14->setCampaign($campaign1)->setPlatform($platform1)->setCurrentTime(50)->setTimestamp((new \DateTime('today'))->setTime(0, 0, 0)->format('U'))->setTrackNumber(50)->setIp(11117)->setViewerId(md5(11));
     // для теста на ip-filter2 - конец
     $entityManager->persist($advertiser);
     $entityManager->persist($publisher);
     $entityManager->persist($campaign1);
     $entityManager->persist($campaign2);
     $entityManager->persist($platform1);
     $entityManager->persist($view0);
     $entityManager->persist($view1);
     $entityManager->persist($view2);
     $entityManager->persist($view3);
     $entityManager->persist($view4);
     $entityManager->persist($view5);
     $entityManager->persist($view6);
     $entityManager->persist($view7);
     $entityManager->persist($view8);
     $entityManager->persist($view9);
     $entityManager->persist($view10);
     $entityManager->persist($view11);
     $entityManager->persist($view12);
     $entityManager->persist($view13);
     $entityManager->persist($view14);
     $entityManager->flush();
     $fixtures = ['advertiser' => $advertiser, 'publisher' => $publisher, 'campaigns' => array_merge([$campaign1, $campaign2], $campaigns), 'platofrms' => [$platform1], 'views' => [$view0, $view1, $view2, $view3, $view4, $view5, $view6, $view7, $view8, $view9, $view10, $view11, $view12, $view13, $view14]];
     return $fixtures;
 }