@@ -1412,7 +1412,7 @@ def test_resource_format_update(self):
14121412
14131413 def test_edit_metadata_updates_metadata_modified_field (self ):
14141414 dataset = factories .Dataset ()
1415- resource = factories .Resource (package = dataset )
1415+ resource = factories .Resource (package_id = dataset [ 'id' ] )
14161416
14171417 with freeze_time ('2020-02-25 12:00:00' ):
14181418 resource = helpers .call_action (
@@ -1426,7 +1426,11 @@ def test_same_values_dont_update_metadata_modified_field(self):
14261426 dataset = factories .Dataset ()
14271427
14281428 with freeze_time ('1987-03-04 23:30:00' ):
1429- resource = factories .Resource (package = dataset , description = 'Test' )
1429+ resource = factories .Resource (
1430+ package_id = dataset ['id' ],
1431+ description = 'Test' ,
1432+ some_custom_field = 'test' ,
1433+ )
14301434 assert (resource ['metadata_modified' ] ==
14311435 datetime .datetime .utcnow ().isoformat ())
14321436
@@ -1435,13 +1439,84 @@ def test_same_values_dont_update_metadata_modified_field(self):
14351439 "resource_update" ,
14361440 id = resource ["id" ],
14371441 description = 'Test' ,
1442+ some_custom_field = 'test' ,
14381443 url = 'http://link.to.some.data' # Default Value from Factory
14391444 )
14401445 assert (resource ['metadata_modified' ] !=
14411446 datetime .datetime .utcnow ().isoformat ())
14421447 assert (resource ['metadata_modified' ] ==
14431448 '1987-03-04T23:30:00' )
14441449
1450+ def test_new_keys_update_metadata_modified_field (self ):
1451+ dataset = factories .Dataset ()
1452+
1453+ with freeze_time ('1987-03-04 23:30:00' ):
1454+ resource = factories .Resource (package_id = dataset ['id' ], description = 'test' )
1455+ assert (resource ['metadata_modified' ] ==
1456+ datetime .datetime .utcnow ().isoformat ())
1457+
1458+ with freeze_time ('2020-02-25 12:00:00' ):
1459+ resource = helpers .call_action (
1460+ "resource_update" ,
1461+ id = resource ["id" ],
1462+ description = 'test' ,
1463+ some_custom_field = 'test' ,
1464+ url = 'http://link.to.some.data' # default value from factory
1465+ )
1466+ assert (resource ['metadata_modified' ] ==
1467+ datetime .datetime .utcnow ().isoformat ())
1468+ assert (resource ['metadata_modified' ] ==
1469+ '2020-02-25T12:00:00' )
1470+
1471+ def test_remove_keys_update_metadata_modified_field (self ):
1472+ dataset = factories .Dataset ()
1473+
1474+ with freeze_time ('1987-03-04 23:30:00' ):
1475+ resource = factories .Resource (
1476+ package_id = dataset ['id' ],
1477+ description = 'test' ,
1478+ some_custom_field = 'test' ,
1479+ )
1480+ assert (resource ['metadata_modified' ] ==
1481+ datetime .datetime .utcnow ().isoformat ())
1482+
1483+ with freeze_time ('2020-02-25 12:00:00' ):
1484+ resource = helpers .call_action (
1485+ "resource_update" ,
1486+ id = resource ["id" ],
1487+ description = 'test' ,
1488+ url = 'http://link.to.some.data' # default value from factory
1489+ )
1490+ assert (resource ['metadata_modified' ] ==
1491+ datetime .datetime .utcnow ().isoformat ())
1492+ assert (resource ['metadata_modified' ] ==
1493+ '2020-02-25T12:00:00' )
1494+
1495+ def test_update_keys_update_metadata_modified_field (self ):
1496+ dataset = factories .Dataset ()
1497+
1498+ with freeze_time ('1987-03-04 23:30:00' ):
1499+ resource = factories .Resource (
1500+ package_id = dataset ['id' ],
1501+ description = 'test' ,
1502+ some_custom_field = 'test' ,
1503+ )
1504+ assert (resource ['metadata_modified' ] ==
1505+ datetime .datetime .utcnow ().isoformat ())
1506+
1507+ with freeze_time ('2020-02-25 12:00:00' ):
1508+ resource = helpers .call_action (
1509+ "resource_update" ,
1510+ id = resource ["id" ],
1511+ description = 'test' ,
1512+ some_custom_field = 'test2' ,
1513+ url = 'http://link.to.some.data' # default value from factory
1514+ )
1515+ assert (resource ['metadata_modified' ] ==
1516+ datetime .datetime .utcnow ().isoformat ())
1517+ assert (resource ['metadata_modified' ] ==
1518+ '2020-02-25T12:00:00' )
1519+
14451520
14461521@pytest .mark .usefixtures ("clean_db" , "with_request_context" )
14471522class TestConfigOptionUpdate (object ):
0 commit comments