@@ -17,11 +17,13 @@ def test_list_datasets_minimal(self):
1717 mock_response = {
1818 "datasets" : [
1919 {
20- "slug" : "dex.trades" ,
21- "name" : "DEX Trades" ,
20+ "full_name" : "dune.dex.trades" ,
2221 "type" : "transformation_view" ,
23- "owner" : {"id" : 1 , "handle" : "dune" },
24- "namespace" : "dex" ,
22+ "owner" : {"handle" : "dune" , "type" : "team" },
23+ "columns" : [
24+ {"name" : "block_time" , "type" : "timestamp" , "nullable" : False }
25+ ],
26+ "metadata" : {},
2527 "created_at" : "2024-01-01T00:00:00Z" ,
2628 "updated_at" : "2024-01-02T00:00:00Z" ,
2729 "is_private" : False ,
@@ -34,23 +36,23 @@ def test_list_datasets_minimal(self):
3436 result = self .api .list_datasets (limit = 50 , offset = 0 )
3537
3638 self .api ._get .assert_called_once_with (
37- route = "/v1/ datasets" ,
39+ route = "/datasets" ,
3840 params = {"limit" : 50 , "offset" : 0 },
3941 )
4042 self .assertIsInstance (result , DatasetListResponse )
4143 self .assertEqual (len (result .datasets ), 1 )
42- self .assertEqual (result .datasets [0 ].slug , "dex.trades" )
44+ self .assertEqual (result .datasets [0 ].full_name , "dune. dex.trades" )
4345 self .assertEqual (result .total , 1 )
4446
4547 def test_list_datasets_with_filters (self ):
4648 mock_response = {
4749 "datasets" : [
4850 {
49- "slug" : "user.my_table" ,
50- "name" : "My Table" ,
51+ "full_name" : "dune.user.my_table" ,
5152 "type" : "uploaded_table" ,
52- "owner" : {"id" : 123 , "handle" : "test_user" },
53- "namespace" : "user" ,
53+ "owner" : {"handle" : "test_user" , "type" : "user" },
54+ "columns" : [{"name" : "id" , "type" : "integer" , "nullable" : False }],
55+ "metadata" : {},
5456 "created_at" : "2024-01-01T00:00:00Z" ,
5557 "updated_at" : "2024-01-02T00:00:00Z" ,
5658 "is_private" : True ,
@@ -68,7 +70,7 @@ def test_list_datasets_with_filters(self):
6870 )
6971
7072 self .api ._get .assert_called_once_with (
71- route = "/v1/ datasets" ,
73+ route = "/datasets" ,
7274 params = {
7375 "limit" : 100 ,
7476 "offset" : 10 ,
@@ -82,57 +84,52 @@ def test_list_datasets_with_filters(self):
8284
8385 def test_get_dataset (self ):
8486 mock_response = {
85- "slug" : "dex.trades" ,
86- "name" : "DEX Trades" ,
87+ "full_name" : "dune.dex.trades" ,
8788 "type" : "transformation_view" ,
88- "owner" : {"id" : 1 , "handle" : "dune" },
89- "namespace" : "dex" ,
89+ "owner" : {"handle" : "dune" , "type" : "team" },
9090 "columns" : [
91- {"name" : "block_time" , "type" : "timestamp" },
92- {"name" : "token_bought_address" , "type" : "varchar" },
93- {"name" : "token_sold_address" , "type" : "varchar" },
94- {"name" : "amount_usd" , "type" : "double" },
91+ {"name" : "block_time" , "type" : "timestamp" , "nullable" : False },
92+ {"name" : "token_bought_address" , "type" : "varchar" , "nullable" : False },
93+ {"name" : "token_sold_address" , "type" : "varchar" , "nullable" : False },
94+ {"name" : "amount_usd" , "type" : "double" , "nullable" : True },
9595 ],
96- "description" : "All DEX trades across multiple chains" ,
96+ "metadata" : { " description" : "All DEX trades across multiple chains" } ,
9797 "created_at" : "2024-01-01T00:00:00Z" ,
9898 "updated_at" : "2024-01-02T00:00:00Z" ,
9999 "is_private" : False ,
100100 }
101101 self .api ._get .return_value = mock_response
102102
103- result = self .api .get_dataset ("dex.trades" )
103+ result = self .api .get_dataset ("dune. dex.trades" )
104104
105- self .api ._get .assert_called_once_with (route = "/v1/ datasets/dex.trades" )
105+ self .api ._get .assert_called_once_with (route = "/datasets/dune. dex.trades" )
106106 self .assertIsInstance (result , DatasetResponse )
107- self .assertEqual (result .slug , "dex.trades" )
108- self .assertEqual (result .name , "DEX Trades" )
107+ self .assertEqual (result .full_name , "dune.dex.trades" )
109108 self .assertEqual (len (result .columns ), 4 )
110109 self .assertEqual (result .columns [0 ].name , "block_time" )
111110 self .assertEqual (result .columns [0 ].type , "timestamp" )
112- self .assertEqual (result .description , "All DEX trades across multiple chains" )
111+ self .assertEqual (result .metadata . get ( " description" ) , "All DEX trades across multiple chains" )
113112
114113 def test_get_dataset_no_description (self ):
115114 mock_response = {
116- "slug" : "test.dataset" ,
117- "name" : "Test Dataset" ,
115+ "full_name" : "dune.test.dataset" ,
118116 "type" : "uploaded_table" ,
119- "owner" : {"id" : 123 , "handle" : "test_user" },
120- "namespace" : "test" ,
117+ "owner" : {"handle" : "test_user" , "type" : "user" },
121118 "columns" : [
122- {"name" : "id" , "type" : "int" },
123- {"name" : "value" , "type" : "varchar" },
119+ {"name" : "id" , "type" : "integer" , "nullable" : False },
120+ {"name" : "value" , "type" : "varchar" , "nullable" : True },
124121 ],
125- "description " : None ,
122+ "metadata " : {} ,
126123 "created_at" : "2024-01-01T00:00:00Z" ,
127124 "updated_at" : "2024-01-02T00:00:00Z" ,
128125 "is_private" : True ,
129126 }
130127 self .api ._get .return_value = mock_response
131128
132- result = self .api .get_dataset ("test.dataset" )
129+ result = self .api .get_dataset ("dune. test.dataset" )
133130
134131 self .assertIsInstance (result , DatasetResponse )
135- self .assertIsNone (result .description )
132+ self .assertEqual (result .metadata , {} )
136133 self .assertTrue (result .is_private )
137134
138135
0 commit comments