Пример #1
0
 def LoadOp(line, succ):
     pr = Genotype(
         name=line['rs#'], study=Import.study, datasource=Import.ds,
     )
     SaveKVs(pr, line)
     pr.save()
     return True
Пример #2
0
 def LoadOp(line, succ):
     pr = Genotype(
         name=line['rs#'],
         study=Import.study,
         datasource=Import.ds,
     )
     SaveKVs(pr, line)
     pr.save()
     return True
Пример #3
0
 def test_query_csv_to_rows_different_fields(self):
     """
     Tests that query_csv_to_rows creates the correct csv strings when given a query
     set of Genotype models that have different fields to each other
     """
     expected_experi_model.switch_db(TEST_DB_ALIAS)
     expected_experi_model.save()
     expected_ds_model.switch_db(TEST_DB_ALIAS)
     expected_ds_model.save()
     date = datetime.datetime(2015, 11, 20, 11, 14, 40, round(386012, -2))
     date_string = str(date)
     xreflsid = "Helge what even is this field anyway?"
     gen_1 = Genotype(name="foo",
                      statuscode=3,
                      obs={"chicken": "pie"},
                      study=expected_experi_model,
                      datasource=expected_ds_model,
                      xreflsid=xreflsid,
                      createddate=date,
                      dtt=date,
                      lastupdateddate=date)
     gen_1.switch_db(TEST_DB_ALIAS)
     gen_1.save()
     gen_2 = Genotype(name="bar",
                      description="baz",
                      obs={"chicken": "snitchel"},
                      study=expected_experi_model,
                      datasource=expected_ds_model,
                      lastupdatedby="Badi",
                      createddate=date,
                      dtt=date,
                      lastupdateddate=date)
     gen_2.switch_db(TEST_DB_ALIAS)
     gen_2.save()
     expected_rows = [
         "alias,createddate,datasource__name,description,dtt,lastupdatedby,lastupdateddate,name,"
         + "obs,statuscode,study__name,xreflsid",
         str.format(
             "unknown,{0},What is up,baz,{0},Badi,{0},bar,\"{{'chicken':'snitchel'}}\",1,What is up,",
             date_string),
         str.format(
             "unknown,{0},What is up,,{0},,{0},foo,\"{{'chicken':'pie'}}\",3,What is up,{1}",
             date_string, xreflsid)
     ]
     with switch_db(Genotype, TEST_DB_ALIAS) as TestGen:
         query = TestGen.objects.all()
     actual_rows = query_to_csv_rows_list(query, testing=True)
     self.assertEqual(len(expected_rows), len(actual_rows))
     self.assertEqual(actual_rows[0],
                      expected_rows[0])  # Checks header rows are equal
     # Checks csv representations of genotype docs are in actual_rows
     for row in expected_rows:
         with self.subTest(row=row):
             self.assertIn(row, actual_rows)
Пример #4
0
 def test_query_csv_to_rows_different_fields(self):
     """
     Tests that query_csv_to_rows creates the correct csv strings when given a query
     set of Genotype models that have different fields to each other
     """
     expected_experi_model.switch_db(TEST_DB_ALIAS)
     expected_experi_model.save()
     expected_ds_model.switch_db(TEST_DB_ALIAS)
     expected_ds_model.save()
     date = datetime.datetime(2015, 11, 20, 11, 14, 40, round(386012, -2))
     date_string = str(date)
     xreflsid = "Helge what even is this field anyway?"
     gen_1 = Genotype(
         name="foo", statuscode=3, obs={"chicken": "pie"}, study=expected_experi_model,
         datasource=expected_ds_model, xreflsid=xreflsid, createddate=date, dtt=date,
         lastupdateddate=date
     )
     gen_1.switch_db(TEST_DB_ALIAS)
     gen_1.save()
     gen_2 = Genotype(
         name="bar", description="baz", obs={"chicken": "snitchel"}, study=expected_experi_model,
         datasource=expected_ds_model, lastupdatedby="Badi", createddate=date, dtt=date,
         lastupdateddate=date
     )
     gen_2.switch_db(TEST_DB_ALIAS)
     gen_2.save()
     expected_rows = [
         "alias,createddate,datasource__name,description,dtt,lastupdatedby,lastupdateddate,name,"
         + "obs,statuscode,study__name,xreflsid",
         str.format(
             "unknown,{0},What is up,baz,{0},Badi,{0},bar,\"{{'chicken':'snitchel'}}\",1,What is up,",
             date_string
         ),
         str.format(
             "unknown,{0},What is up,,{0},,{0},foo,\"{{'chicken':'pie'}}\",3,What is up,{1}",
             date_string, xreflsid
         )
     ]
     with switch_db(Genotype, TEST_DB_ALIAS) as TestGen:
         query = TestGen.objects.all()
     actual_rows = query_to_csv_rows_list(query, testing=True)
     self.assertEqual(len(expected_rows), len(actual_rows))
     self.assertEqual(actual_rows[0], expected_rows[0])  # Checks header rows are equal
     # Checks csv representations of genotype docs are in actual_rows
     for row in expected_rows:
         with self.subTest(row=row):
             self.assertIn(row, actual_rows)