@@ -44,6 +44,11 @@ def _invoke(extra_args, runner=None):
4444 return _invoke
4545
4646
47+ @pytest .fixture
48+ def stac_json ():
49+ return {'stac' : {}}
50+
51+
4752@respx .mock
4853def test_cli_orders_list_basic (invoke , order_descriptions ):
4954 next_page_url = TEST_ORDERS_URL + '/blob/?page_marker=IAmATest'
@@ -451,7 +456,10 @@ def test_cli_orders_create_basic_success(expected_ids,
451456 [('4500474_2133707_2021-05-20_2419' , ['4500474_2133707_2021-05-20_2419' ]),
452457 ('4500474_2133707_2021-05-20_2419,4500474_2133707_2021-05-20_2420' ,
453458 ['4500474_2133707_2021-05-20_2419' , '4500474_2133707_2021-05-20_2420' ])])
454- def test_cli_orders_request_basic_success (expected_ids , id_string , invoke ):
459+ def test_cli_orders_request_basic_success (expected_ids ,
460+ id_string ,
461+ invoke ,
462+ stac_json ):
455463 result = invoke ([
456464 'request' ,
457465 '--name=test' ,
@@ -469,6 +477,8 @@ def test_cli_orders_request_basic_success(expected_ids, id_string, invoke):
469477 "item_type" : "PSOrthoTile" ,
470478 "product_bundle" : "analytic"
471479 }],
480+ "metadata" :
481+ stac_json
472482 }
473483 assert order_request == json .loads (result .output )
474484
@@ -503,7 +513,8 @@ def test_cli_orders_request_id_empty(invoke):
503513def test_cli_orders_request_clip_success (geom_fixture ,
504514 request ,
505515 invoke ,
506- geom_geojson ):
516+ geom_geojson ,
517+ stac_json ):
507518
508519 geom = request .getfixturevalue (geom_fixture )
509520
@@ -529,7 +540,9 @@ def test_cli_orders_request_clip_success(geom_fixture,
529540 'clip' : {
530541 'aoi' : geom_geojson
531542 }
532- }]
543+ }],
544+ "metadata" :
545+ stac_json
533546 }
534547 assert order_request == json .loads (result .output )
535548
@@ -566,7 +579,7 @@ def test_cli_orders_request_both_clip_and_tools(invoke, geom_geojson):
566579 assert "Specify only one of '--clip' or '--tools'" in result .output
567580
568581
569- def test_cli_orders_request_cloudconfig (invoke ):
582+ def test_cli_orders_request_cloudconfig (invoke , stac_json ):
570583 config_json = {
571584 'amazon_s3' : {
572585 'aws_access_key_id' : 'aws_access_key_id' ,
@@ -596,12 +609,14 @@ def test_cli_orders_request_cloudconfig(invoke):
596609 "product_bundle" : "analytic" ,
597610 }],
598611 "delivery" :
599- config_json
612+ config_json ,
613+ "metadata" :
614+ stac_json
600615 }
601616 assert order_request == json .loads (result .output )
602617
603618
604- def test_cli_orders_request_email (invoke ):
619+ def test_cli_orders_request_email (invoke , stac_json ):
605620 result = invoke ([
606621 'request' ,
607622 '--name=test' ,
@@ -621,14 +636,16 @@ def test_cli_orders_request_email(invoke):
621636 "product_bundle" : "analytic" ,
622637 }],
623638 "notifications" : {
624- "email" : True
625- }
639+ "email" : True ,
640+ },
641+ "metadata" :
642+ stac_json
626643 }
627644 assert order_request == json .loads (result .output )
628645
629646
630647@respx .mock
631- def test_cli_orders_request_tools (invoke , geom_geojson ):
648+ def test_cli_orders_request_tools (invoke , geom_geojson , stac_json ):
632649 tools_json = [{'clip' : {'aoi' : geom_geojson }}, {'composite' : {}}]
633650
634651 result = invoke ([
@@ -649,6 +666,32 @@ def test_cli_orders_request_tools(invoke, geom_geojson):
649666 "product_bundle" : "analytic" ,
650667 }],
651668 "tools" :
652- tools_json
669+ tools_json ,
670+ "metadata" :
671+ stac_json
672+ }
673+ assert order_request == json .loads (result .output )
674+
675+
676+ @respx .mock
677+ def test_cli_orders_request_no_stac (invoke ):
678+
679+ result = invoke ([
680+ 'request' ,
681+ '--name=test' ,
682+ '--id=4500474_2133707_2021-05-20_2419' ,
683+ '--bundle=analytic' ,
684+ '--item-type=PSOrthoTile' ,
685+ '--no-stac'
686+ ])
687+
688+ order_request = {
689+ "name" :
690+ "test" ,
691+ "products" : [{
692+ "item_ids" : ["4500474_2133707_2021-05-20_2419" ],
693+ "item_type" : "PSOrthoTile" ,
694+ "product_bundle" : "analytic" ,
695+ }]
653696 }
654697 assert order_request == json .loads (result .output )
0 commit comments