Exemplo n.º 1
0
 def test_header_is_true(self):
     mem = six.StringIO()
     with self.assertNumQueries(1):
         qs = Permission.objects.select_related().filter(codename='add_user')
         export_as_csv(queryset=qs, header=True, out=mem)
     mem.seek(0)
     csv_reader = csv.reader(mem)
     self.assertEqual(next(csv_reader), [u'id;"name";"content_type";"codename"'])
Exemplo n.º 2
0
 def test_header_is_true(self):
     mem = six.StringIO()
     with self.assertNumQueries(1):
         qs = Permission.objects.select_related().filter(codename='add_user')
         export_as_csv(queryset=qs, header=True, out=mem)
     mem.seek(0)
     csv_reader = csv.reader(mem)
     self.assertEqual(next(csv_reader), [u'id;"name";"content_type";"codename"'])
Exemplo n.º 3
0
 def test_deep_attr(self):
     fields = ['codename', 'content_type.app_label']
     mem = StringIO.StringIO()
     with self.assertNumQueries(1):
         qs = Permission.objects.select_related().filter(codename='add_user')
         export_as_csv(queryset=qs, fields=fields, out=mem)
     mem.seek(0)
     csv_dump = mem.read()
     self.assertEquals(csv_dump.decode('utf8'), u'"add_user";"auth"\r\n')
Exemplo n.º 4
0
 def test_callable_method(self):
     fields = ['codename', 'natural_key']
     mem = StringIO.StringIO()
     with self.assertNumQueries(2):
         qs = Permission.objects.filter(codename='add_user')
         export_as_csv(queryset=qs, fields=fields, out=mem)
     mem.seek(0)
     csv_dump = mem.read()
     self.assertEquals(csv_dump.decode('utf8'), u'"add_user";"(u\'add_user\', u\'auth\', u\'user\')"\r\n')
Exemplo n.º 5
0
 def test_deep_attr(self):
     fields = ['codename', 'content_type.app_label']
     mem = StringIO.StringIO()
     with self.assertNumQueries(1):
         qs = Permission.objects.select_related().filter(codename='add_user')
         export_as_csv(queryset=qs, fields=fields, out=mem)
     mem.seek(0)
     csv_dump = mem.read()
     self.assertEquals(csv_dump.decode('utf8'), u'"add_user";"auth"\r\n')
Exemplo n.º 6
0
 def test_callable_method(self):
     fields = ['codename', 'natural_key']
     mem = StringIO.StringIO()
     with self.assertNumQueries(2):
         qs = Permission.objects.filter(codename='add_user')
         export_as_csv(queryset=qs, fields=fields, out=mem)
     mem.seek(0)
     csv_dump = mem.read()
     self.assertEquals(csv_dump.decode('utf8'), u'"add_user";"(u\'add_user\', u\'auth\', u\'user\')"\r\n')
Exemplo n.º 7
0
 def test_queryset_values(self):
     fields = ['codename', 'content_type__app_label']
     header = ['Name', 'Application']
     mem = StringIO.StringIO()
     with self.assertNumQueries(1):
         qs = Permission.objects.filter(codename='add_user').values('codename', 'content_type__app_label')
         export_as_csv(queryset=qs, fields=fields, header=header, out=mem)
     mem.seek(0)
     csv_dump = mem.read()
     self.assertEquals(csv_dump.decode('utf8'), u'"Name";"Application"\r\n"add_user";"auth"\r\n')
Exemplo n.º 8
0
 def test_queryset_values(self):
     fields = ['codename', 'content_type__app_label']
     header = ['Name', 'Application']
     mem = StringIO.StringIO()
     with self.assertNumQueries(1):
         qs = Permission.objects.filter(codename='add_user').values('codename', 'content_type__app_label')
         export_as_csv(queryset=qs, fields=fields, header=header, out=mem)
     mem.seek(0)
     csv_dump = mem.read()
     self.assertEquals(csv_dump.decode('utf8'), u'"Name";"Application"\r\n"add_user";"auth"\r\n')
Exemplo n.º 9
0
 def test_export_as_csv(self):
     fields = ['field1', 'field2']
     header = ['Field 1', 'Field 2']
     Row = namedtuple('Row', fields)
     rows = [Row(1, 4), Row(2, 5), Row(3, u'ӼӳӬԖԊ')]
     mem = io.StringIO()
     export_as_csv(queryset=rows, fields=fields, header=header, out=mem)
     mem.seek(0)
     csv_dump = mem.read()
     self.assertEqual(
         csv_dump,
         '"Field 1";"Field 2"\r\n"1";"4"\r\n"2";"5"\r\n"3";"ӼӳӬԖԊ"\r\n')
Exemplo n.º 10
0
 def test_export_as_csv(self):
     fields = ['field1', 'field2']
     header = ['Field 1', 'Field 2']
     Row = namedtuple('Row', fields)
     rows = [Row(1, 4),
             Row(2, 5),
             Row(3, u'ӼӳӬԖԊ')]
     mem = StringIO.StringIO()
     export_as_csv(queryset=rows, fields=fields, header=header, out=mem)
     mem.seek(0)
     csv_dump = mem.read()
     self.assertEquals(csv_dump.decode('utf8'), u'"Field 1";"Field 2"\r\n"1";"4"\r\n"2";"5"\r\n"3";"ӼӳӬԖԊ"\r\n')
Exemplo n.º 11
0
 def test_dialect(self):
     fields = ['field1', 'field2']
     header = ['Field 1', 'Field 2']
     Row = namedtuple('Row', fields)
     rows = [Row(1, 4), Row(2, 5), Row(3, 'ӼӳӬԖԊ')]
     mem = io.StringIO()
     export_as_csv(queryset=rows,
                   fields=fields,
                   header=header,
                   out=mem,
                   options={'dialect': 'excel'})
     mem.seek(0)
     csv_dump = mem.read()
     self.assertEqual(csv_dump,
                      'Field 1,Field 2\r\n1,4\r\n2,5\r\n3,ӼӳӬԖԊ\r\n')
Exemplo n.º 12
0
 def test_dialect(self):
     fields = ['field1', 'field2']
     header = ['Field 1', 'Field 2']
     Row = namedtuple('Row', fields)
     rows = [Row(1, 4),
             Row(2, 5),
             Row(3, 'ӼӳӬԖԊ')]
     mem = six.StringIO()
     export_as_csv(queryset=rows, fields=fields, header=header,
                   out=mem, options={'dialect': 'excel'})
     mem.seek(0)
     csv_dump = mem.read()
     if six.PY2:
         self.assertEquals(csv_dump.decode('utf8'), u'Field 1,Field 2\r\n1,4\r\n2,5\r\n3,ӼӳӬԖԊ\r\n')
     else:
         self.assertEquals(csv_dump, 'Field 1,Field 2\r\n1,4\r\n2,5\r\n3,ӼӳӬԖԊ\r\n')
Exemplo n.º 13
0
 def test_default_params(self):
     with self.assertNumQueries(1):
         qs = Permission.objects.select_related().filter(
             codename='add_user')
         ret = export_as_csv(queryset=qs)
     self.assertIsInstance(ret, HttpResponse)
     self.assertEquals(
         ret.content.decode('utf8'),
         u'"%s";"Can add user";"user";"add_user"\r\n' % qs[0].pk)
Exemplo n.º 14
0
 def test_default_params(self):
     with self.assertNumQueries(1):
         qs = Permission.objects.select_related().filter(codename='add_user')
         ret = export_as_csv(queryset=qs)
     self.assertIsInstance(ret, HttpResponse)
     self.assertEquals(ret.content.decode('utf8'), u'"%s";"Can add user";"user";"add_user"\r\n' % qs[0].pk)