示例#1
0
    def test_async_results_fails_with_message(self, mocked_upload):
        mocked_upload.return_value = 'http://s3.com/your-file.csv'

        q = SimpleQueryFactory(sql='select x from foo;', title="testquery")
        execute_query(q.id, '*****@*****.**')

        output = StringIO()
        output.write('a,b,c\r\n1,2,3\r\n')

        self.assertEqual(len(mail.outbox), 2)
        self.assertIn('[SQL Explorer] Error ', mail.outbox[1].subject)
        self.assertEqual(mocked_upload.call_count, 0)
示例#2
0
    def test_async_results_fails_with_message(self, mocked_upload):
        mocked_upload.return_value = 'http://s3.com/your-file.csv'

        q = SimpleQueryFactory(sql='select x from foo;', title="testquery")
        execute_query(q.id, '*****@*****.**')

        output = StringIO()
        output.write('a,b,c\r\n1,2,3\r\n')

        self.assertEqual(len(mail.outbox), 2)
        self.assertIn('[SQL Explorer] Error ', mail.outbox[1].subject)
        self.assertEqual(mocked_upload.call_count, 0)
示例#3
0
    def test_async_results(self, mocked_upload):
        mocked_upload.return_value = 'http://s3.com/your-file.csv'

        q = SimpleQueryFactory(sql='select 1 "a", 2 "b", 3 "c";', title="testquery")
        execute_query(q.id, '*****@*****.**')

        output = StringIO()
        output.write('a,b,c\r\n1,2,3\r\n')

        self.assertEqual(len(mail.outbox), 2)
        self.assertIn('[SQL Explorer] Your query is running', mail.outbox[0].subject)
        self.assertIn('[SQL Explorer] Report ', mail.outbox[1].subject)
        self.assertEqual(mocked_upload.call_args[0][1].getvalue(), output.getvalue())
        self.assertEqual(mocked_upload.call_count, 1)
    def test_async_results_failswith_message(self, mocked_s3):
        s3_client = Mock()
        s3_client.generate_presigned_url = Mock()
        s3_client.generate_presigned_url.return_value = 'http://s3.com/your-file.csv'
        mocked_s3.return_value = s3_client

        q = SimpleQueryFactory(sql='select x from foo;', title="testquery")
        execute_query(q.id, '*****@*****.**')

        output = StringIO()
        output.write('a,b,c\r\n1,2,3\r\n')

        self.assertEqual(len(mail.outbox), 1)
        self.assertIn('[SQL Explorer] Report ', mail.outbox[0].subject)
示例#5
0
文件: test_tasks.py 项目: grouwner/sc
    def test_async_results(self, mocked_upload):
        mocked_upload.return_value = 'http://s3.com/your-file.csv'

        q = SimpleQueryFactory(sql='select 1 "a", 2 "b", 3 "c";',
                               title="testquery")
        execute_query(q.id, '*****@*****.**')

        output = StringIO()
        output.write('a,b,c\r\n1,2,3\r\n')

        self.assertEqual(len(mail.outbox), 1)
        self.assertIn('[SQL Explorer] Report ', mail.outbox[0].subject)
        self.assertEqual(mocked_upload.call_args[0][1].getvalue(),
                         output.getvalue())
        self.assertEqual(mocked_upload.call_count, 1)
    def test_async_results_failswith_message(self, mocked_s3):
        conn = Mock()
        conn.upload = Mock()
        conn.upload.return_value = type('obj', (object,), {'url': 'http://s3.com/your-file.csv'})
        mocked_s3.return_value = conn

        q = SimpleQueryFactory(sql='select x from foo;', title="testquery")
        execute_query(q.id, '*****@*****.**')

        output = StringIO()
        output.write('a,b,c\r\n1,2,3\r\n')

        self.assertEqual(len(mail.outbox), 1)
        self.assertIn('[SQL Explorer] Report ', mail.outbox[0].subject)
        self.assertEqual(conn.upload.call_args[0][1].getvalue(), "no such table: foo")
示例#7
0
    def test_async_results_failswith_message(self, mocked_s3):
        conn = Mock()
        conn.upload = Mock()
        conn.upload.return_value = type('obj', (object, ),
                                        {'url': 'http://s3.com/your-file.csv'})
        mocked_s3.return_value = conn

        q = SimpleQueryFactory(sql='select x from foo;', title="testquery")
        execute_query(q.id, '*****@*****.**')

        output = StringIO()
        output.write('a,b,c\r\n1,2,3\r\n')

        self.assertEqual(len(mail.outbox), 1)
        self.assertIn('[SQL Explorer] Report ', mail.outbox[0].subject)
        self.assertEqual(conn.upload.call_args[0][1].getvalue(),
                         "no such table: foo")