Esempio n. 1
0
 def test_parse_entity(self):
     l = ReagentLot(uri=self.lims.get_uri('reagentkits', 'r1'), lims=self.lims)
     with patch('requests.Session.get', return_value=Mock(content=self.reagentlot_xml, status_code=200)):
         assert l.uri
         assert l.name == 'kitname'
         assert l.lot_number == '100'
         assert l.status == 'ARCHIVED'
Esempio n. 2
0
 def test_create_entity(self):
     with patch('requests.Session.get', return_value=Mock(content=self.reagentkit_xml, status_code=200)):
         r = ReagentKit(uri=self.lims.get_uri('reagentkits', 'r1'), lims=self.lims)
     with patch('genologics.lims.requests.post',
                return_value=Mock(content=self.reagentlot_xml, status_code=201)) as patch_post:
         l = ReagentLot.create(
             self.lims,
             reagent_kit=r,
             name='kitname',
             lot_number='100',
             expiry_date='2020-05-01',
             status='ACTIVE'
         )
         assert l.uri
         assert l.name == 'kitname'
         assert l.lot_number == '100'
Esempio n. 3
0
 def test_create_entity(self):
     with patch('requests.Session.get', return_value=Mock(content=self.reagentkit_xml, status_code=200)):
         r = ReagentKit(uri=self.lims.get_uri('reagentkits', 'r1'), lims=self.lims)
     with patch('genologics.lims.requests.post',
                return_value=Mock(content=self.reagentlot_xml, status_code=201)) as patch_post:
         l = ReagentLot.create(
             self.lims,
             reagent_kit=r,
             name='kitname',
             lot_number='100',
             expiry_date='2020-05-01',
             status='ACTIVE'
         )
         assert l.uri
         assert l.name == 'kitname'
         assert l.lot_number == '100'
    def _run(self):
        run_parameters = find_run_parameters(self.run_name)
        for name, lot in get_reagent_name_from_run_parameter(run_parameters):
            reagent_lots = self.lims.get_reagent_lots(number=lot)
            if len(reagent_lots) == 1:
                reagent_lot = reagent_lots[0]
                if reagent_lot.status != 'active':
                    reagent_lot.status = 'active'
                    reagent_lot.expiry_date = time.strftime('%Y-%m,-%d')
                    reagent_lot.put()
            else:
                reagent_kits = self.lims.get_reagent_kits(name=reagent_kit_map[name])
                if len(reagent_kits) != 1:
                    raise Exception('Found %s reagent kits for name %s' % (len(reagent_kits), reagent_kit_map[name]))
                reagent_lot = ReagentLot.create(self.lims, reagent_kit=reagent_kits[0], name=name, lot_number=lot, expiry_date=time.strftime('%Y-%m,-%d'), status='active')

            print('Create reagent %s: %s' % (name, lot))