@@ -17,49 +17,60 @@ def create_unique_event():
17
17
)
18
18
19
19
20
- client_name = "aw-test-client"
21
- bucket_name = "test-bucket"
22
- bucket_etype = "test"
23
-
24
- # Test context manager
25
- with ActivityWatchClient (client_name , testing = True ) as client :
26
- time .sleep (1 )
27
-
28
- # Check that client name is set correctly
29
- assert client .client_name == client_name
30
-
31
- # Delete bucket before creating it, and handle error if it doesn't already exist
32
- try :
20
+ def test_full ():
21
+ now = datetime .now (timezone .utc )
22
+
23
+ client_name = "aw-test-client"
24
+ bucket_name = "test-bucket"
25
+ bucket_etype = "test"
26
+
27
+ # Test context manager
28
+ with ActivityWatchClient (client_name , testing = True ) as client :
29
+ time .sleep (1 )
30
+
31
+ # Check that client name is set correctly
32
+ assert client .client_name == client_name
33
+
34
+ # Delete bucket before creating it, and handle error if it doesn't already exist
35
+ try :
36
+ client .delete_bucket (bucket_name )
37
+ except HTTPError :
38
+ pass
39
+
40
+ # Create bucket
41
+ client .create_bucket (bucket_name , bucket_etype )
42
+
43
+ # Check bucket
44
+ buckets = client .get_buckets ()
45
+ assert bucket_name in buckets
46
+ assert bucket_name == buckets [bucket_name ]["id" ]
47
+ assert bucket_etype == buckets [bucket_name ]["type" ]
48
+
49
+ # Insert events
50
+ e1 = create_unique_event ()
51
+ e2 = create_unique_event ()
52
+ e3 = create_unique_event ()
53
+ events = [e1 , e2 , e3 ]
54
+ client .insert_events (bucket_name , events )
55
+
56
+ # Get events
57
+ fetched_events = client .get_events (bucket_name , limit = len (events ))
58
+
59
+ # Assert events
60
+ assert [(e .timestamp , e .duration , e .data ) for e in fetched_events ] == [
61
+ (e .timestamp , e .duration , e .data ) for e in events
62
+ ]
63
+
64
+ # Check eventcount
65
+ eventcount = client .get_eventcount (bucket_name )
66
+ assert eventcount == len (events )
67
+
68
+ result = client .query (
69
+ f"RETURN = query_bucket('{ bucket_name } ');" ,
70
+ timeperiods = [(now - timedelta (hours = 1 ), now + timedelta (hours = 1 ))],
71
+ )
72
+ assert len (result ) == 1
73
+ assert len (result [0 ]) == 3
74
+
75
+ # Delete bucket
33
76
client .delete_bucket (bucket_name )
34
- except HTTPError as e :
35
- pass
36
-
37
- # Create bucket
38
- client .create_bucket (bucket_name , bucket_etype )
39
-
40
- # Check bucket
41
- buckets = client .get_buckets ()
42
- assert bucket_name in buckets
43
- assert bucket_name == buckets [bucket_name ]["id" ]
44
- assert bucket_etype == buckets [bucket_name ]["type" ]
45
-
46
- # Insert events
47
- e1 = create_unique_event ()
48
- e2 = create_unique_event ()
49
- e3 = create_unique_event ()
50
- events = [e1 , e2 , e3 ]
51
- client .insert_events (bucket_name , events )
52
-
53
- # Get events
54
- fetched_events = client .get_events (bucket_name , limit = len (events ))
55
-
56
- # Assert events
57
- assert fetched_events == events
58
- assert events [0 ]["data" ]["label" ] == e1 ["data" ]["label" ]
59
-
60
- # Check eventcount
61
- eventcount = client .get_eventcount (bucket_name )
62
- assert eventcount == 1
63
-
64
- # Delete bucket
65
- client .delete_bucket (bucket_name )
0 commit comments