@@ -436,6 +436,13 @@ def test_base_resources(self):
436
436
response = self .client .get (url , format = 'json' )
437
437
self .assertEqual (response .status_code , 200 )
438
438
self .assertEqual (len (response .data ), 5 )
439
+ self .assertEqual (response .data ['total' ], 28 )
440
+
441
+ url = "{base_url}?{params}" .format (base_url = reverse ('base-resources-list' ), params = "filter{metadata_only}=false" )
442
+ # Anonymous
443
+ response = self .client .get (url , format = 'json' )
444
+ self .assertEqual (response .status_code , 200 )
445
+ self .assertEqual (len (response .data ), 5 )
439
446
self .assertEqual (response .data ['total' ], 26 )
440
447
response .data ['resources' ][0 ].get ('executions' )
441
448
# Pagination
@@ -494,7 +501,7 @@ def test_base_resources(self):
494
501
# Admin
495
502
self .assertTrue (self .client .login (username = 'admin' , password = 'admin' ))
496
503
497
- response = self .client .get (f"{ url } ? page_size=17" , format = 'json' )
504
+ response = self .client .get (f"{ url } & page_size=17" , format = 'json' )
498
505
self .assertEqual (response .status_code , 200 )
499
506
self .assertEqual (len (response .data ), 5 )
500
507
self .assertEqual (response .data ['total' ], 26 )
@@ -505,25 +512,27 @@ def test_base_resources(self):
505
512
resource = ResourceBase .objects .filter (owner__username = 'bobby' ).first ()
506
513
self .assertEqual (resource .owner .username , 'bobby' )
507
514
# Admin
508
- response = self .client .get (f"{ url } /{ resource .id } /" , format = 'json' )
515
+ url_with_id = "{base_url}/{res_id}?{params}" .format (base_url = reverse ('base-resources-list' ), res_id = resource .id , params = "filter{metadata_only}=false" )
516
+
517
+ response = self .client .get (f"{ url_with_id } " , format = 'json' )
509
518
self .assertEqual (response .data ['resource' ]['state' ], enumerations .STATE_PROCESSED )
510
519
self .assertEqual (response .data ['resource' ]['sourcetype' ], enumerations .SOURCE_TYPE_LOCAL )
511
520
self .assertTrue ('change_resourcebase' in list (response .data ['resource' ]['perms' ]))
512
521
# Annonymous
513
522
self .assertIsNone (self .client .logout ())
514
- response = self .client .get (f"{ url } / { resource . id } / " , format = 'json' )
523
+ response = self .client .get (f"{ url_with_id } " , format = 'json' )
515
524
self .assertFalse ('change_resourcebase' in list (response .data ['resource' ]['perms' ]))
516
525
# user owner
517
526
self .assertTrue (self .client .login (username = 'bobby' , password = 'bob' ))
518
- response = self .client .get (f"{ url } / { resource . id } / " , format = 'json' )
527
+ response = self .client .get (f"{ url_with_id } " , format = 'json' )
519
528
self .assertTrue ('change_resourcebase' in list (response .data ['resource' ]['perms' ]))
520
529
# user not owner and not assigned
521
530
self .assertTrue (self .client .login (username = 'norman' , password = 'norman' ))
522
- response = self .client .get (f"{ url } / { resource . id } / " , format = 'json' )
531
+ response = self .client .get (f"{ url_with_id } " , format = 'json' )
523
532
self .assertFalse ('change_resourcebase' in list (response .data ['resource' ]['perms' ]))
524
533
# Check executions are returned when deffered
525
534
# all resources
526
- response = self .client .get (f'{ url } ? include[]=executions' , format = 'json' )
535
+ response = self .client .get (f'{ url } & include[]=executions' , format = 'json' )
527
536
self .assertEqual (response .status_code , 200 )
528
537
self .assertIsNotNone (response .data ['resources' ][0 ].get ('executions' ))
529
538
# specific resource
@@ -555,7 +564,7 @@ def test_base_resources(self):
555
564
)
556
565
}]
557
566
self .assertTrue (self .client .login (username = 'bobby' , password = 'bob' ))
558
- response = self .client .get (f'{ url } / { resource . id } ? include[]=executions' , format = 'json' )
567
+ response = self .client .get (f'{ url_with_id } & include[]=executions' , format = 'json' )
559
568
self .assertEqual (response .status_code , 200 )
560
569
self .assertIsNotNone (response .data ['resource' ].get ('executions' ))
561
570
self .assertEqual (response .data ['resource' ].get ('executions' ), expected_executions_results )
@@ -567,7 +576,7 @@ def test_base_resources(self):
567
576
self .assertEqual (6 , resource .tkeywords .count ())
568
577
# Admin
569
578
self .assertTrue (self .client .login (username = 'admin' , password = 'admin' ))
570
- response = self .client .get (f"{ url } / { resource . id } / " , format = 'json' )
579
+ response = self .client .get (f"{ url_with_id } " , format = 'json' )
571
580
self .assertIsNotNone (response .data ['resource' ]['tkeywords' ])
572
581
self .assertEqual (6 , len (response .data ['resource' ]['tkeywords' ]))
573
582
self .assertListEqual (
@@ -721,15 +730,15 @@ def test_filter_resources(self):
721
730
self .assertTrue (self .client .login (username = 'admin' , password = 'admin' ))
722
731
723
732
# Filter by owner == bobby
724
- response = self .client .get (f"{ url } ?filter{{owner.username}}=bobby" , format = 'json' )
733
+ response = self .client .get (f"{ url } ?filter{{owner.username}}=bobby&filter{{metadata_only}}=false " , format = 'json' )
725
734
self .assertEqual (response .status_code , 200 )
726
735
self .assertEqual (len (response .data ), 5 )
727
736
self .assertEqual (response .data ['total' ], 3 )
728
737
# Pagination
729
738
self .assertEqual (len (response .data ['resources' ]), 3 )
730
739
731
740
# Filter by resource_type == document
732
- response = self .client .get (f"{ url } ?filter{{resource_type}}=document" , format = 'json' )
741
+ response = self .client .get (f"{ url } ?filter{{resource_type}}=document&filter{{metadata_only}}=false " , format = 'json' )
733
742
self .assertEqual (response .status_code , 200 )
734
743
self .assertEqual (len (response .data ), 5 )
735
744
self .assertEqual (response .data ['total' ], 9 )
@@ -738,7 +747,7 @@ def test_filter_resources(self):
738
747
739
748
# Filter by resource_type == layer and title like 'common morx'
740
749
response = self .client .get (
741
- f"{ url } ?filter{{resource_type}}=dataset&filter{{title.icontains}}=common morx" , format = 'json' )
750
+ f"{ url } ?filter{{resource_type}}=dataset&filter{{title.icontains}}=common morx&filter{{metadata_only}}=false " , format = 'json' )
742
751
self .assertEqual (response .status_code , 200 )
743
752
self .assertEqual (len (response .data ), 5 )
744
753
self .assertEqual (response .data ['total' ], 1 )
@@ -747,7 +756,7 @@ def test_filter_resources(self):
747
756
748
757
# Filter by Keywords
749
758
response = self .client .get (
750
- f"{ url } ?filter{{keywords.name}}=here" , format = 'json' )
759
+ f"{ url } ?filter{{keywords.name}}=here&filter{{metadata_only}}=false " , format = 'json' )
751
760
self .assertEqual (response .status_code , 200 )
752
761
self .assertEqual (len (response .data ), 5 )
753
762
self .assertEqual (response .data ['total' ], 1 )
@@ -756,7 +765,7 @@ def test_filter_resources(self):
756
765
757
766
# Filter by Metadata Regions
758
767
response = self .client .get (
759
- f"{ url } ?filter{{regions.name.icontains}}=Italy" , format = 'json' )
768
+ f"{ url } ?filter{{regions.name.icontains}}=Italy&filter{{metadata_only}}=false " , format = 'json' )
760
769
self .assertEqual (response .status_code , 200 )
761
770
self .assertEqual (len (response .data ), 5 )
762
771
self .assertEqual (response .data ['total' ], 0 )
@@ -765,29 +774,29 @@ def test_filter_resources(self):
765
774
766
775
# Filter by Metadata Categories
767
776
response = self .client .get (
768
- f"{ url } ?filter{{category.identifier}}=elevation" , format = 'json' )
777
+ f"{ url } ?filter{{category.identifier}}=elevation&filter{{metadata_only}}=false " , format = 'json' )
769
778
self .assertEqual (response .status_code , 200 )
770
779
self .assertEqual (len (response .data ), 5 )
771
780
self .assertEqual (response .data ['total' ], 6 )
772
781
# Pagination
773
782
self .assertEqual (len (response .data ['resources' ]), 6 )
774
783
775
784
# Extent Filter
776
- response = self .client .get (f"{ url } ?page_size=26&extent=-180,-90,180,90" , format = 'json' )
785
+ response = self .client .get (f"{ url } ?page_size=26&extent=-180,-90,180,90&filter{{metadata_only}}=false " , format = 'json' )
777
786
self .assertEqual (response .status_code , 200 )
778
787
self .assertEqual (len (response .data ), 5 )
779
788
self .assertEqual (response .data ['total' ], 26 )
780
789
# Pagination
781
790
self .assertEqual (len (response .data ['resources' ]), 26 )
782
791
783
- response = self .client .get (f"{ url } ?page_size=26&extent=0,0,100,100" , format = 'json' )
792
+ response = self .client .get (f"{ url } ?page_size=26&extent=0,0,100,100&filter{{metadata_only}}=false " , format = 'json' )
784
793
self .assertEqual (response .status_code , 200 )
785
794
self .assertEqual (len (response .data ), 5 )
786
795
self .assertEqual (response .data ['total' ], 26 )
787
796
# Pagination
788
797
self .assertEqual (len (response .data ['resources' ]), 26 )
789
798
790
- response = self .client .get (f"{ url } ?page_size=26&extent=-10,-10,-1,-1" , format = 'json' )
799
+ response = self .client .get (f"{ url } ?page_size=26&extent=-10,-10,-1,-1&filter{{metadata_only}}=false " , format = 'json' )
791
800
self .assertEqual (response .status_code , 200 )
792
801
self .assertEqual (len (response .data ), 5 )
793
802
self .assertEqual (response .data ['total' ], 12 )
@@ -797,7 +806,7 @@ def test_filter_resources(self):
797
806
# Extent Filter: Crossing Dateline
798
807
extent = "-180.0000,56.9689,-162.5977,70.7435,155.9180,56.9689,180.0000,70.7435"
799
808
response = self .client .get (
800
- f"{ url } ?page_size=26&extent={ extent } " , format = 'json' )
809
+ f"{ url } ?page_size=26&extent={ extent } &filter{{metadata_only}}=false " , format = 'json' )
801
810
self .assertEqual (response .status_code , 200 )
802
811
self .assertEqual (len (response .data ), 5 )
803
812
self .assertEqual (response .data ['total' ], 12 )
@@ -816,7 +825,7 @@ def test_sort_resources(self):
816
825
f"{ url } ?sort[]=title" , format = 'json' )
817
826
self .assertEqual (response .status_code , 200 )
818
827
self .assertEqual (len (response .data ), 5 )
819
- self .assertEqual (response .data ['total' ], 26 )
828
+ self .assertEqual (response .data ['total' ], 28 )
820
829
# Pagination
821
830
self .assertEqual (len (response .data ['resources' ]), 10 )
822
831
@@ -830,7 +839,7 @@ def test_sort_resources(self):
830
839
f"{ url } ?sort[]=-title" , format = 'json' )
831
840
self .assertEqual (response .status_code , 200 )
832
841
self .assertEqual (len (response .data ), 5 )
833
- self .assertEqual (response .data ['total' ], 26 )
842
+ self .assertEqual (response .data ['total' ], 28 )
834
843
# Pagination
835
844
self .assertEqual (len (response .data ['resources' ]), 10 )
836
845
@@ -1663,7 +1672,7 @@ def test_embed_urls(self):
1663
1672
1664
1673
resources = ResourceBase .objects .all ()
1665
1674
for resource in resources :
1666
- url = reverse ('base-resources-detail' , kwargs = {'pk' : resource .pk })
1675
+ url = "{base_url}?{params}" . format ( base_url = reverse ('base-resources-detail' , kwargs = {'pk' : resource .pk }), params = "filter{metadata_only}=false" )
1667
1676
response = self .client .get (url , format = 'json' )
1668
1677
if resource .title .endswith ('metadata true' ):
1669
1678
self .assertEqual (response .status_code , 404 )
0 commit comments