Ejemplo n.º 1
0
    def test_post_transferto_api_response(self, mock_post):
        mock_post.return_value = MockResponse(200, "foo=allo\r\nbar=1,2,3\r\n")

        # Send airtime disabled should raise exception
        with self.assertRaises(Exception):
            AirtimeTransfer.post_transferto_api_response('login_acc',
                                                         'token',
                                                         action='ping')

        with self.settings(SEND_AIRTIME=True):
            model_obj_data = self.airtime.data
            model_obj_response = self.airtime.response

            response = AirtimeTransfer.post_transferto_api_response(
                'login_acc', 'token', action='ping')
            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.content, "foo=allo\r\nbar=1,2,3\r\n")

            self.assertEqual(mock_post.call_count, 1)
            self.assertEqual('https://fm.transfer-to.com/cgi-bin/shop/topup',
                             mock_post.call_args_list[0][0][0])
            mock_args = mock_post.call_args_list[0][0][1]
            self.assertTrue('action' in mock_args.keys())
            self.assertTrue('login' in mock_args.keys())
            self.assertTrue('key' in mock_args.keys())
            self.assertTrue('md5' in mock_args.keys())

            self.assertTrue('ping' in mock_args.values())
            self.assertTrue('login_acc' in mock_args.values())

            self.airtime.refresh_from_db()
            # model not changed since not passed in args
            self.assertEqual(self.airtime.data, model_obj_data)
            self.assertEqual(self.airtime.response, model_obj_response)
            mock_post.reset_mock()

            response = AirtimeTransfer.post_transferto_api_response(
                'login_acc', 'token', airtime_obj=self.airtime, action='ping')
            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.content, "foo=allo\r\nbar=1,2,3\r\n")
            self.assertEqual(mock_post.call_count, 1)
            self.assertEqual('https://fm.transfer-to.com/cgi-bin/shop/topup',
                             mock_post.call_args_list[0][0][0])
            mock_args = mock_post.call_args_list[0][0][1]
            self.assertTrue('action' in mock_args.keys())
            self.assertTrue('login' in mock_args.keys())
            self.assertTrue('key' in mock_args.keys())
            self.assertTrue('md5' in mock_args.keys())

            self.assertTrue('ping' in mock_args.values())
            self.assertTrue('login_acc' in mock_args.values())

            self.airtime.refresh_from_db()
            # model changed since it is passed in args
            self.assertNotEqual(self.airtime.data, model_obj_data)
            self.assertNotEqual(self.airtime.response, model_obj_response)
            mock_post.reset_mock()
Ejemplo n.º 2
0
    def test_post_transferto_api_response(self, mock_post):
        mock_post.return_value = MockResponse(200, "foo=allo\r\nbar=1,2,3\r\n")

        # Send airtime disabled should raise exception
        with self.assertRaises(Exception):
            AirtimeTransfer.post_transferto_api_response("login_acc",
                                                         "token",
                                                         action="ping")

        with self.settings(SEND_AIRTIME=True):
            model_obj_data = self.airtime.data
            model_obj_response = self.airtime.response

            response = AirtimeTransfer.post_transferto_api_response(
                "login_acc", "token", action="ping")
            self.assertContains(response, "foo=allo\r\nbar=1,2,3\r\n")

            self.assertEqual(mock_post.call_count, 1)
            self.assertEqual(
                "https://airtime.transferto.com/cgi-bin/shop/topup",
                mock_post.call_args_list[0][0][0])
            mock_args = mock_post.call_args_list[0][0][1]
            self.assertIn("action", mock_args.keys())
            self.assertIn("login", mock_args.keys())
            self.assertIn("key", mock_args.keys())
            self.assertIn("md5", mock_args.keys())

            self.assertIn("ping", mock_args.values())
            self.assertIn("login_acc", mock_args.values())

            self.airtime.refresh_from_db()
            # model not changed since not passed in args
            self.assertEqual(self.airtime.data, model_obj_data)
            self.assertEqual(self.airtime.response, model_obj_response)
            mock_post.reset_mock()

            response = AirtimeTransfer.post_transferto_api_response(
                "login_acc", "token", airtime_obj=self.airtime, action="ping")
            self.assertContains(response, "foo=allo\r\nbar=1,2,3\r\n")
            self.assertEqual(mock_post.call_count, 1)
            self.assertEqual(
                "https://airtime.transferto.com/cgi-bin/shop/topup",
                mock_post.call_args_list[0][0][0])
            mock_args = mock_post.call_args_list[0][0][1]
            self.assertIn("action", mock_args.keys())
            self.assertIn("login", mock_args.keys())
            self.assertIn("key", mock_args.keys())
            self.assertIn("md5", mock_args.keys())

            self.assertIn("ping", mock_args.values())
            self.assertIn("login_acc", mock_args.values())

            self.airtime.refresh_from_db()
            # model changed since it is passed in args
            self.assertNotEqual(self.airtime.data, model_obj_data)
            self.assertNotEqual(self.airtime.response, model_obj_response)
            mock_post.reset_mock()
Ejemplo n.º 3
0
    def test_post_transferto_api_response(self, mock_post):
        mock_post.return_value = MockResponse(200, "foo=allo\r\nbar=1,2,3\r\n")

        # Send airtime disabled should raise exception
        with self.assertRaises(Exception):
            AirtimeTransfer.post_transferto_api_response('login_acc', 'token', action='ping')

        with self.settings(SEND_AIRTIME=True):
            model_obj_data = self.airtime.data
            model_obj_response = self.airtime.response

            response = AirtimeTransfer.post_transferto_api_response('login_acc', 'token', action='ping')
            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.content, "foo=allo\r\nbar=1,2,3\r\n")

            self.assertEqual(mock_post.call_count, 1)
            self.assertEqual('https://fm.transfer-to.com/cgi-bin/shop/topup', mock_post.call_args_list[0][0][0])
            mock_args = mock_post.call_args_list[0][0][1]
            self.assertTrue('action' in mock_args.keys())
            self.assertTrue('login' in mock_args.keys())
            self.assertTrue('key' in mock_args.keys())
            self.assertTrue('md5' in mock_args.keys())

            self.assertTrue('ping' in mock_args.values())
            self.assertTrue('login_acc' in mock_args.values())

            self.airtime.refresh_from_db()
            # model not changed since not passed in args
            self.assertEqual(self.airtime.data, model_obj_data)
            self.assertEqual(self.airtime.response, model_obj_response)
            mock_post.reset_mock()

            response = AirtimeTransfer.post_transferto_api_response('login_acc', 'token', airtime_obj=self.airtime,
                                                                    action='ping')
            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.content, "foo=allo\r\nbar=1,2,3\r\n")
            self.assertEqual(mock_post.call_count, 1)
            self.assertEqual('https://fm.transfer-to.com/cgi-bin/shop/topup', mock_post.call_args_list[0][0][0])
            mock_args = mock_post.call_args_list[0][0][1]
            self.assertTrue('action' in mock_args.keys())
            self.assertTrue('login' in mock_args.keys())
            self.assertTrue('key' in mock_args.keys())
            self.assertTrue('md5' in mock_args.keys())

            self.assertTrue('ping' in mock_args.values())
            self.assertTrue('login_acc' in mock_args.values())

            self.airtime.refresh_from_db()
            # model changed since it is passed in args
            self.assertNotEqual(self.airtime.data, model_obj_data)
            self.assertNotEqual(self.airtime.response, model_obj_response)
            mock_post.reset_mock()
Ejemplo n.º 4
0
    def test_post_transferto_api_response(self, mock_post):
        mock_post.return_value = MockResponse(200, "foo=allo\r\nbar=1,2,3\r\n")

        # Send airtime disabled should raise exception
        with self.assertRaises(Exception):
            AirtimeTransfer.post_transferto_api_response("login_acc", "token", action="ping")

        with self.settings(SEND_AIRTIME=True):
            model_obj_data = self.airtime.data
            model_obj_response = self.airtime.response

            response = AirtimeTransfer.post_transferto_api_response("login_acc", "token", action="ping")
            self.assertContains(response, "foo=allo\r\nbar=1,2,3\r\n")

            self.assertEqual(mock_post.call_count, 1)
            self.assertEqual("https://airtime.transferto.com/cgi-bin/shop/topup", mock_post.call_args_list[0][0][0])
            mock_args = mock_post.call_args_list[0][0][1]
            self.assertIn("action", mock_args.keys())
            self.assertIn("login", mock_args.keys())
            self.assertIn("key", mock_args.keys())
            self.assertIn("md5", mock_args.keys())

            self.assertIn("ping", mock_args.values())
            self.assertIn("login_acc", mock_args.values())

            self.airtime.refresh_from_db()
            # model not changed since not passed in args
            self.assertEqual(self.airtime.data, model_obj_data)
            self.assertEqual(self.airtime.response, model_obj_response)
            mock_post.reset_mock()

            response = AirtimeTransfer.post_transferto_api_response(
                "login_acc", "token", airtime_obj=self.airtime, action="ping"
            )
            self.assertContains(response, "foo=allo\r\nbar=1,2,3\r\n")
            self.assertEqual(mock_post.call_count, 1)
            self.assertEqual("https://airtime.transferto.com/cgi-bin/shop/topup", mock_post.call_args_list[0][0][0])
            mock_args = mock_post.call_args_list[0][0][1]
            self.assertIn("action", mock_args.keys())
            self.assertIn("login", mock_args.keys())
            self.assertIn("key", mock_args.keys())
            self.assertIn("md5", mock_args.keys())

            self.assertIn("ping", mock_args.values())
            self.assertIn("login_acc", mock_args.values())

            self.airtime.refresh_from_db()
            # model changed since it is passed in args
            self.assertNotEqual(self.airtime.data, model_obj_data)
            self.assertNotEqual(self.airtime.response, model_obj_response)
            mock_post.reset_mock()