@@ -17,49 +17,60 @@ def create_unique_event():
1717 )
1818
1919
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
3376 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