def test_production_handle_submitted_plot_products(self): order = Order.find(self.mock_order.generate_testing_order( self.user_id)) order.status = 'ordered' order.order_type = 'lpcs' order.save() plot_id = None for idx, scene in enumerate(order.scenes()): # at the moment, mock_order.generate_testing_order # creates 21 products for the order. divvy those # up between 'complete' and 'unavailable', setting # one aside as the 'plot' product if scene.sensor_type == 'plot': # need to define a plot product scene.update('status', 'submitted') plot_id = scene.id else: if idx % 2 == 0: scene.update('status', 'complete') else: scene.update('status', 'unavailable') scenes = order.scenes() self.assertTrue( production_provider.handle_submitted_plot_products(scenes)) self.assertEqual(Scene.find(plot_id).status, "oncache")
def test_production_handle_submitted_modis_products_input_missing(self): # handle unavailable scenario order = Order.find(self.mock_order.generate_testing_order(self.user_id)) for scene in order.scenes(): scene.status = 'submitted' scene.sensor_type = 'modis' scene.save() sid = scene.id self.assertTrue(production_provider.handle_submitted_modis_products()) self.assertEquals(Scene.find(sid).status, "unavailable")
def test_production_handle_submitted_modis_products_input_exists(self): # handle oncache scenario order = Order.find(self.mock_order.generate_testing_order(self.user_id)) for scene in order.scenes({'name !=': 'plot'}): scene.status = 'submitted' scene.sensor_type = 'modis' scene.save() sid = scene.id scenes = order.scenes({'sensor_type': 'modis'}) self.assertTrue(production_provider.handle_submitted_modis_products(scenes)) self.assertEquals(Scene.find(sid).status, "oncache")
def test_update_product_details_set_product_error(self): """ Set a scene status to error :return: """ order = Order.find(self.mock_order.generate_testing_order(self.user_id)) scene = order.scenes()[0] production_provider.update_product('set_product_error', name=scene.name, orderid=order.orderid, processing_loc="L8SRLEXAMPLE", error='problems yo') self.assertTrue(Scene.find(scene.id).status == 'error')
def test_production_handle_submitted_plot_products(self): order = Order.find(self.mock_order.generate_testing_order(self.user_id)) order.status = 'ordered' order.order_type = 'lpcs' order.save() plot_id = None for idx, scene in enumerate(order.scenes()): # at the moment, mock_order.generate_testing_order # creates 21 products for the order. divvy those # up between 'complete' and 'unavailable', setting # one aside as the 'plot' product if idx % 2 == 0: if idx == 0: # need to define a plot product scene.update('status', 'submitted') scene.update('sensor_type', 'plot') plot_id = scene.id else: scene.update('status', 'complete') else: scene.update('status', 'unavailable') self.assertTrue(production_provider.handle_submitted_plot_products()) self.assertEqual(Scene.find(plot_id).status, "oncache")