@@ -23,6 +23,29 @@ def test_observable_create(self) -> None:
23
23
self .assertIsNotNone (result .id )
24
24
self .assertEqual (result .value , "toto.com" )
25
25
26
+ def test_observable_update (self ) -> None :
27
+ """Tests that calling save() on an observable treats it as PATCH."""
28
+ result = registry_key .RegistryKey (
29
+ key = "Microsoft\\ Windows\\ CurrentVersion\\ Run" ,
30
+ value = "persist" ,
31
+ data = b"cmd.exe" ,
32
+ hive = registry_key .RegistryHive .HKEY_LOCAL_MACHINE_Software ).save ()
33
+ result .tag (['tag1' ])
34
+ result .add_context (source = 'source1' , context = {'some' : 'info' })
35
+ self .assertEqual (list (result .tags .keys ()), ['tag1' ])
36
+ self .assertEqual (
37
+ result .context [0 ], {'source' : 'source1' , 'some' : 'info' })
38
+ result = registry_key .RegistryKey (
39
+ key = "Microsoft\\ Windows\\ CurrentVersion\\ RunOnce" ,
40
+ value = "persist" ,
41
+ data = b"other.exe" ,
42
+ hive = registry_key .RegistryHive .HKEY_LOCAL_MACHINE_Software ).save ()
43
+ self .assertEqual (result .key , "Microsoft\\ Windows\\ CurrentVersion\\ RunOnce" )
44
+ self .assertEqual (result .data , b"other.exe" )
45
+ self .assertEqual (list (result .tags .keys ()), ['tag1' ])
46
+ self .assertEqual (
47
+ result .context [0 ], {'source' : 'source1' , 'some' : 'info' })
48
+
26
49
def test_create_generic_observable (self ):
27
50
result = generic_observable .GenericObservable (value = "Some_String" ).save ()
28
51
self .assertIsNotNone (result .id )
0 commit comments