summaryrefslogtreecommitdiff
path: root/test/4.4-subscription-ops.test
blob: 45c3ce12b91fb515159c452b96d39ecc0101e036 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#
# Verify that the CUPS subscription operations work.
#
# Copyright © 2007-2019 by Apple Inc.
# Copyright © 2001-2006 by Easy Software Products. All rights reserved.
#
# Licensed under Apache License v2.0.  See the file "LICENSE" for more
# information.
#
{
	# The name of the test...
	NAME "Add Printer Subscription w/Lease"

	# The operation to use
	OPERATION Create-Printer-Subscription
	RESOURCE /

	# The attributes to send
	GROUP operation
	ATTR charset attributes-charset utf-8
	ATTR language attributes-natural-language en
	ATTR uri printer-uri $scheme://$hostname:$port/printers/Test1
	ATTR name requesting-user-name $user

        GROUP subscription
	ATTR uri notify-recipient-uri testnotify://
	ATTR keyword notify-events printer-state-changed
	ATTR integer notify-lease-duration 5

	# What statuses are OK?
	STATUS successful-ok

	# What attributes do we expect?
	EXPECT attributes-charset
	EXPECT attributes-natural-language
	EXPECT notify-subscription-id
	DISPLAY notify-subscription-id
}
{
	# The name of the test...
	NAME "Verify Subscription Expiration"

	# Delay test for 7 seconds to allow lease to expire...
	DELAY 7

	# The operation to use
	OPERATION Get-Subscription-Attributes
	RESOURCE /

	# The attributes to send
	GROUP operation
	ATTR charset attributes-charset utf-8
	ATTR language attributes-natural-language en
	ATTR uri printer-uri $scheme://$hostname:$port/printers/Test1
	ATTR integer notify-subscription-id $notify-subscription-id
	ATTR name requesting-user-name $user

	# What statuses are OK?
	STATUS client-error-not-found

	# What attributes do we expect?
	EXPECT attributes-charset
	EXPECT attributes-natural-language
}
{
	# The name of the test...
	NAME "Add 2 Printer Subscriptions w/Lease"

	# The operation to use
	OPERATION Create-Printer-Subscription
	RESOURCE /

	# The attributes to send
	GROUP operation
	ATTR charset attributes-charset utf-8
	ATTR language attributes-natural-language en
	ATTR uri printer-uri $scheme://$hostname:$port/printers/Test1
	ATTR name requesting-user-name $user

        GROUP subscription
	ATTR uri notify-recipient-uri testnotify://
	ATTR keyword notify-events printer-state-changed
	ATTR integer notify-lease-duration 5

        GROUP subscription
	ATTR uri notify-recipient-uri testnotify://
	ATTR keyword notify-events printer-config-changed
	ATTR integer notify-lease-duration 5

	# What statuses are OK?
	STATUS successful-ok

	# What attributes do we expect?
	EXPECT attributes-charset
	EXPECT attributes-natural-language
	EXPECT notify-subscription-id
	DISPLAY notify-subscription-id
}
{
	# The name of the test...
	NAME "List Printer Subscriptions"

	# The operation to use
	OPERATION Get-Subscriptions
	RESOURCE /

	# The attributes to send
	GROUP operation
	ATTR charset attributes-charset utf-8
	ATTR language attributes-natural-language en
	ATTR uri printer-uri $scheme://$hostname:$port/printers/Test1
	ATTR name requesting-user-name $user

	# What statuses are OK?
	STATUS successful-ok

	# What attributes do we expect?
	EXPECT attributes-charset
	EXPECT attributes-natural-language
	EXPECT notify-subscription-id
	DISPLAY notify-subscription-id
	EXPECT notify-printer-uri
	DISPLAY notify-printer-uri
	EXPECT notify-events
	DISPLAY notify-events
}
{
	# The name of the test...
	NAME "Check MaxSubscriptions limits"

	# The operation to use
	OPERATION Create-Printer-Subscription
	RESOURCE /

	# The attributes to send
	GROUP operation
	ATTR charset attributes-charset utf-8
	ATTR language attributes-natural-language en
	ATTR uri printer-uri $scheme://$hostname:$port/printers/Test1
	ATTR name requesting-user-name $user

        GROUP subscription
	ATTR uri notify-recipient-uri testnotify://
	ATTR keyword notify-events printer-state-changed
	ATTR integer notify-lease-duration 5

	# What statuses are OK?
	STATUS client-error-too-many-subscriptions

	# What attributes do we expect?
	EXPECT attributes-charset
	EXPECT attributes-natural-language
}