/** * @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); }
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; }
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; }