Example #1
0
 def test_update_product_details_set_product_unavailable(self):
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes()[0]
     production_provider.update_product('set_product_unavailable',
                                        name=scene.name, orderid=order.orderid,
                                        processing_loc="L8SRLEXAMPLE",
                                        error='include_dswe is an unavailable product option for OLITIRS')
     self.assertTrue('unavailable' == Scene.get('ordering_scene.status', scene.name, order.orderid))
 def test_update_product_details_set_product_unavailable(self):
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes()[0]
     production_provider.update_product('set_product_unavailable',
                                        name=scene.name, orderid=order.orderid,
                                        processing_loc="L8SRLEXAMPLE",
                                        error='include_dswe is an unavailable product option for OLITIRS')
     self.assertTrue('unavailable' == Scene.get('ordering_scene.status', scene.name, order.orderid))
 def test_production_set_product_error_retry(self):
     """
     Move a scene status from error to retry based on the error
     message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes()[2]
     production_provider.set_product_error(scene.name, order.orderid,
                                           'somewhere',
                                           'Verify the missing auxillary data products')
     self.assertTrue('retry' == Scene.get('ordering_scene.status', scene.name, order.orderid))
 def test_production_set_product_error_submitted(self):
     """
     Move a scene status from error to submitted based on the error
     message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes({'name !=': 'plot'})[0]
     production_provider.set_product_error(scene.name, order.orderid,
                                           'get_products_to_process',
                                           'BLOCK, COMING FROM LST AS WELL: No such file or directory')
     self.assertTrue('submitted' == Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #5
0
 def test_production_set_product_error_retry_lasrc_segfault(self):
     """
     Move a scene status from error to retry based on the error
     message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes({'sensor_type': 'landsat'})[-1]
     production_provider.set_product_error(scene.name, order.orderid,
                                           'somewhere',
                                           'runSr  sh: line 1: 1010 Segmentation fault lasrc --xml=')
     self.assertTrue('retry' == Scene.get('ordering_scene.status', scene.name, order.orderid))
 def test_production_set_product_error_unavailable(self):
     """
     Move a scene status from error to unavailable based on the error
     message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes({'name !=': 'plot'})[0]
     production_provider.set_product_error(scene.name, order.orderid,
                                           'get_products_to_process',
                                           'include_dswe is an unavailable product option for OLITIRS')
     self.assertTrue('unavailable' == Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #7
0
 def test_production_set_product_error_unavailable(self):
     """
     Move a scene status from error to unavailable based on the error
     message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes({'name !=': 'plot'})[0]
     production_provider.set_product_error(scene.name, order.orderid,
                                           'get_products_to_process',
                                           'include_dswe is an unavailable product option for OLITIRS')
     self.assertTrue('unavailable' == Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #8
0
 def test_production_set_product_error_retry(self):
     """
     Move a scene status from error to retry based on the error
     message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes()[2]
     production_provider.set_product_error(scene.name, order.orderid,
                                           'somewhere',
                                           'Verify the missing auxillary data products')
     self.assertTrue('retry' == Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #9
0
 def test_production_set_product_error_submitted(self):
     """
     Move a scene status from error to submitted based on the error
     message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes({'name !=': 'plot'})[0]
     production_provider.set_product_error(scene.name, order.orderid,
                                           'get_products_to_process',
                                           'BLOCK, COMING FROM LST AS WELL: No such file or directory')
     self.assertTrue('submitted' == Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #10
0
    def test_update_product_details_mark_product_complete(self):
        order = Order.find(self.mock_order.generate_testing_order(self.user_id))
        scene = order.scenes()[0]
        production_provider.update_product('mark_product_complete',
                                           name=scene.name,
                                           orderid=order.orderid,
                                           processing_loc='L8SRLEXAMPLE',
                                           completed_file_location='/some/loc',
                                           cksum_file_location='some checksum',
                                           log_file_contents='some log')

        self.assertTrue('complete' == Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #11
0
 def test_update_product_details_update_status(self):
     """
     Set a scene status to Queued
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes()[0]
     api.update_product_details('update_status',
                                {'name': scene.name,
                                 'orderid': order.orderid,
                                 'processing_loc': 'L8SRLEXAMPLE',
                                 'status': 'Queued'})
     self.assertTrue(Scene.get('ordering_scene.status', scene.name, order.orderid) == 'Queued')
Example #12
0
    def set_product_retry(self, name, orderid, processing_loc,
                        error, note, retry_after, retry_limit=None):
        try:
            order_id = Scene.get('order_id', name, orderid)
            assert(type(retry_after) is int)
            assert(type(processing_loc) is str)
            assert(type(error) is str)
            assert(type(note) is str)
        except Exception:
            raise

        return True
Example #13
0
    def set_product_retry(self, name, orderid, processing_loc,
                        error, note, retry_after, retry_limit=None):
        try:
            order_id = Scene.get('order_id', name, orderid)
            assert(type(retry_after) is int)
            assert(type(processing_loc) is str)
            assert(type(error) is str)
            assert(type(note) is str)
        except Exception:
            raise

        return True
Example #14
0
    def test_update_product_details_mark_product_complete(self):
        order = Order.find(self.mock_order.generate_testing_order(self.user_id))
        scene = order.scenes()[0]
        production_provider.update_product('mark_product_complete',
                                           name=scene.name,
                                           orderid=order.orderid,
                                           processing_loc='L8SRLEXAMPLE',
                                           completed_file_location='/some/loc',
                                           cksum_file_location='some checksum',
                                           log_file_contents='some log')

        self.assertTrue('complete' == Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #15
0
 def test_update_product_details_update_status(self):
     """
     Set a scene status to Queued
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes()[0]
     api.update_product_details('update_status',
                                {'name': scene.name,
                                 'orderid': order.orderid,
                                 'processing_loc': 'L8SRLEXAMPLE',
                                 'status': 'Queued'})
     self.assertTrue(Scene.get('ordering_scene.status', scene.name, order.orderid) == 'Queued')
Example #16
0
 def test_production_set_product_error_unavail_reproject(self):
     """
     Move a scene status from error to retry based on the error
     message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes({'sensor_type': 'landsat'})[-1]
     log_file_contents = ('BLAH BLAH BLAH WarpVerificationError: Failed to '
                          'compute statistics, no valid pixels found in '
                          'sampling BLAH BLAH BLAH')
     production_provider.set_product_error(scene.name, order.orderid,
                                           'somewhere', log_file_contents)
     self.assertEqual('unavailable', Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #17
0
 def test_production_set_product_error_retry_missing_mtl(self):
     """
     Move a scene status from error to retry based on the error
     message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes({'sensor_type': 'landsat'})[-1]
     log_file_contents = ('BLAH BLAH BLAH ESPAException: Unable to '
                          'locate the MTL file in '
                          '[a path to a mtl file somewhere] BLAH BLAH BLAH')
     production_provider.set_product_error(scene.name, order.orderid,
                                           'somewhere',
                                           log_file_contents)
     self.assertTrue('retry' == Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #18
0
    def test_production_set_product_retry(self):
        order_id = self.mock_order.generate_testing_order(self.user_id)
        order = Order.find(order_id)
        scene = order.scenes()[3]
        scene.update('retry_count', 4)
        processing_loc = "get_products_to_process"
        error = 'not available after EE call '
        note = 'note this'
        retry_after = datetime.datetime.now() + datetime.timedelta(hours=1)
        retry_limit = 9
        response = production_provider.set_product_retry(scene.name, order.orderid, processing_loc,
                                                         error, note, retry_after, retry_limit)

        new = Scene.get('ordering_scene.status', scene.name, order.orderid)
        self.assertTrue('retry' == new)
Example #19
0
 def test_production_set_product_error_unavail_ncep(self):
     """
     Move a scene status from error to unavailable based on the
     error message
     """
     order = Order.find(self.mock_order.generate_testing_order(self.user_id))
     scene = order.scenes({'sensor_type': 'landsat'})[-1]
     log_file_contents = ('BLAH BLAH BLAH Warning: lndpm : Could not find '
                          'NCEP REANALYSIS auxiliary data: a_file_.hdf '
                          'Check LEDAPS_AUX_DIR environment variable. '
                          'Error: lndpm : Verify the missing auxiliary data products, '
                          'then try reprocessing. BLAH BLAH BLAH')
     production_provider.set_product_error(scene.name, order.orderid,
                                           'somewhere', log_file_contents)
     self.assertEqual('unavailable', Scene.get('ordering_scene.status', scene.name, order.orderid))
Example #20
0
    def test_production_set_product_retry(self):
        order_id = self.mock_order.generate_testing_order(self.user_id)
        order = Order.find(order_id)
        scene = order.scenes()[3]
        scene.update('retry_count', 4)
        processing_loc = "get_products_to_process"
        error = 'not available after EE call '
        note = 'note this'
        retry_after = datetime.datetime.now() + datetime.timedelta(hours=1)
        retry_limit = 9
        response = production_provider.set_product_retry(scene.name, order.orderid, processing_loc,
                                                         error, note, retry_after, retry_limit)

        new = Scene.get('ordering_scene.status', scene.name, order.orderid)
        self.assertTrue('retry' == new)