]> git.ipfire.org Git - thirdparty/cups.git/blob - everywhere/ipp-tests.test
Import experimental work-in-progress HTTP/2 branch
[thirdparty/cups.git] / everywhere / ipp-tests.test
1 #
2 # "$Id: ipp-tests.test 13138 2016-03-15 14:59:54Z msweet $"
3 #
4 # IPP Everywhere Printer Self-Certification Manual 1.0: Section 6: IPP Tests.
5 #
6 # Copyright 2014-2015 by The Printer Working Group.
7 # Copyright 2007-2013 by Apple Inc.
8 # Copyright 2001-2006 by Easy Software Products. All rights reserved.
9 #
10 # These coded instructions, statements, and computer programs are the
11 # property of Apple Inc. and are protected by Federal copyright
12 # law. Distribution and use rights are outlined in the file "LICENSE.txt"
13 # which should have been included with this file. If this file is
14 # file is missing or damaged, see the license at "http://www.cups.org/".
15 #
16 # Usage:
17 #
18 # ./ipptool -tI printer-uri ipp-tests.test
19 #
20 # History:
21 #
22 # This test file is loosely based on the IPP/1.1, IPP/2.0 and IPP Everywhere
23 # test files from the CUPS "test" directory. Many of those tests have been
24 # combined or removed, and all print tests are performed using a sample JPEG
25 # file. These tests also validate support for the 'media-empty' and
26 # 'media-needed' keywords in the "printer-state-reasons" Printer attribute.
27 #
28
29 FILE-ID "org.pwg.ipp-everywhere.20151009.ipp"
30
31 # All tests use IPP version 2.0, unless overridden in a test...
32 VERSION 2.0
33
34 # Regular expressions for URI schemes:
35 #
36 # HTTP_URI_SCHEME - Matches strings beginning with http:// or https://
37 # IPP_URI_SCHEME - Matches strings beginning with ipp:// or ipps://
38 # UUID_URI - Matches UUID URN strings.
39
40 DEFINE HTTP_URI_SCHEME "/^https?://.+$$/"
41 DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
42 DEFINE LINK_LOCAL "/^(\[|\[v1.)fe80:/"
43 DEFINE UUID_URI "/^urn:uuid:[0-9A-Fa-f]{8,8}-[0-9A-Fa-f]{4,4}-[0-9A-Fa-f]{4,4}-[0-9A-Fa-f]{4,4}-[0-9A-Fa-f]{12,12}/"
44
45 # Regular expression for PWG media size names (eek!)
46 #
47 # Generated with help from: http://www.msweet.org/abnf.php
48 DEFINE MEDIA_REGEX "/^(choice(_((custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])in|(custom|iso|jis|jpn|prc|om|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])mm)){2,}|(custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])in|(custom|iso|jis|jpn|prc|om|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])mm)$$/"
49
50 # Regular expression for printer-alert attribute
51 #
52 # Generated with help from: http://www.msweet.org/abnf.php
53 DEFINE ALERT_REGEX "/^code\=[A-Za-z]+(;(index\=[0-9]+|severity\=[A-Za-z]+|training\=[A-Za-z]+|group\=[A-Za-z]+|groupindex\=[0-9]+|location\=[0-9]+|time\=[0-9]+)){0,1}$$/"
54
55 # Regular expression for printer-supply attribute
56 #
57 # Generated with help from: http://www.msweet.org/abnf.php
58 DEFINE SUPPLY_REGEX "/^(type\=[A-Za-z]+|(maxcapacity\=([0-9]|\-){0,1})(level\=([0-9]|\-){0,1})|);*((index\=[0-9]+|markerindex\=[0-9]+|class\=[A-Za-z]+|unit\=[A-Za-z]+|colorantindex\=[0-9]+|colorantrole\=[A-Za-z]+|colorantname\=[A-Za-z]+|coloranttonality\=[0-9]+);){0,1}$$/"
59
60 # Test that a request-id value of 0 is not accepted.
61 #
62 # Required by: RFC 2911 section 3.1.1
63 {
64 NAME "I-1. RFC 2911 section 3.1.1: Bad request-id value 0"
65 REQUEST-ID 0
66 OPERATION Get-Printer-Attributes
67 GROUP operation-attributes-tag
68 ATTR charset attributes-charset utf-8
69 ATTR naturalLanguage attributes-natural-language en
70 ATTR uri printer-uri $uri
71
72 STATUS client-error-bad-request
73 EXPECT !printer-uri-supported
74 }
75
76
77 # Test that the first two attributes must be attributes-charset and
78 # attributes-natural-language.
79 #
80 # Required by: RFC 2911 section 3.1.4
81 {
82 NAME "I-2. RFC 2911 section 3.1.4: No Operation Attributes"
83 REQUEST-ID random
84 OPERATION Get-Printer-Attributes
85 GROUP operation-attributes-tag
86
87 STATUS client-error-bad-request
88 EXPECT !printer-uri-supported
89 }
90 {
91 NAME "I-3. RFC 2911 section 3.1.4: attributes-charset"
92 OPERATION Get-Printer-Attributes
93 GROUP operation-attributes-tag
94 ATTR charset attributes-charset utf-8
95 ATTR uri printer-uri $uri
96
97 STATUS client-error-bad-request
98 EXPECT !printer-uri-supported
99 }
100 {
101 NAME "I-4. RFC 2911 section 3.1.4: attributes-natural-language"
102 OPERATION Get-Printer-Attributes
103 GROUP operation-attributes-tag
104 ATTR naturalLanguage attributes-natural-language en
105 ATTR uri printer-uri $uri
106
107 STATUS client-error-bad-request
108 EXPECT !printer-uri-supported
109 }
110 {
111 NAME "I-5. RFC 2911 section 3.1.4: attributes-natural-language + attributes-charset"
112 OPERATION Get-Printer-Attributes
113 GROUP operation-attributes-tag
114 ATTR naturalLanguage attributes-natural-language en
115 ATTR charset attributes-charset utf-8
116 ATTR uri printer-uri $uri
117
118 STATUS client-error-bad-request
119 EXPECT !printer-uri-supported
120 }
121 {
122 NAME "I-6. RFC 2911 section 3.1.4: attributes-charset + attributes-natural-language"
123 OPERATION Get-Printer-Attributes
124 GROUP operation-attributes-tag
125 ATTR charset attributes-charset utf-8
126 ATTR naturalLanguage attributes-natural-language en
127 ATTR uri printer-uri $uri
128
129 STATUS successful-ok
130 EXPECT printer-uri-supported OF-TYPE uri WITH-ALL-VALUES "$IPP_URI_SCHEME"
131 }
132
133
134 # Test that bad IPP versions are not supported.
135 #
136 # Required by: RFC 2911 section 3.1.8
137 {
138 # The name of the test...
139 NAME "I-7. RFC 2911 section 3.1.8: Unsupported IPP version 0.0"
140 VERSION 0.0
141 OPERATION Get-Printer-Attributes
142 GROUP operation-attributes-tag
143 ATTR charset attributes-charset utf-8
144 ATTR naturalLanguage attributes-natural-language en
145 ATTR uri printer-uri $uri
146
147 STATUS server-error-version-not-supported
148 EXPECT !printer-uri-supported
149 }
150
151
152 # Test that printer operations require the printer-uri operation attribute.
153 #
154 # Required by: RFC 2911 section 3.2
155 {
156 NAME "I-8. RFC 2911 section 3.2: No printer-uri operation attribute"
157 OPERATION Get-Printer-Attributes
158 GROUP operation-attributes-tag
159 ATTR charset attributes-charset utf-8
160 ATTR naturalLanguage attributes-natural-language en
161
162 STATUS client-error-bad-request
163 EXPECT !printer-uri-supported
164 }
165
166
167 # Test Get-Printer-Attributes operation
168 #
169 # Required by: PWG 5100.14 Section 5.x
170 {
171 NAME "I-9. Get-Printer-Attributes Operation (default)"
172 OPERATION Get-Printer-Attributes
173 GROUP operation-attributes-tag
174 ATTR charset attributes-charset utf-8
175 ATTR naturalLanguage attributes-natural-language en
176 ATTR uri printer-uri $uri
177 ATTR name requesting-user-name $user
178
179 STATUS successful-ok
180
181 # PWG 5100.14 - Table 5 - Operations
182 EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job
183 EXPECT operations-supported WITH-VALUE 0x0004 # Validate-Job
184 EXPECT operations-supported WITH-VALUE 0x0005 # Create-Job
185 EXPECT operations-supported WITH-VALUE 0x0006 # Send-Document
186 EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job
187 EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes
188 EXPECT operations-supported WITH-VALUE 0x000a # Get-Jobs
189 EXPECT operations-supported WITH-VALUE 0x000b # Get-Printer-Attributes
190 EXPECT operations-supported WITH-VALUE 0x0039 # Cancel-My-Jobs
191 EXPECT operations-supported WITH-VALUE 0x003b # Close-Job
192 EXPECT operations-supported WITH-VALUE 0x003c # Identify-Printer
193
194 # PWG 5100.14 - Table 6 - Printer Description Attributes
195 EXPECT charset-configured OF-TYPE charset IN-GROUP printer-attributes-tag COUNT 1
196
197 EXPECT charset-supported OF-TYPE charset IN-GROUP printer-attributes-tag WITH-VALUE utf-8
198
199 EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
200 EXPECT color-supported WITH-VALUE true DEFINE-MATCH HAVE_COLOR
201
202 EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "none"
203 EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "deflate" DEFINE-MATCH HAVE_DEFLATE
204 EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "gzip" DEFINE-MATCH HAVE_GZIP
205
206 EXPECT copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
207 EXPECT copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag
208
209 EXPECT document-format-default OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag COUNT 1
210 EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "image/jpeg"
211 EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "image/pwg-raster"
212 EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag WITH-VALUE "application/pdf" DEFINE-MATCH HAVE_PDF
213
214 EXPECT document-password-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_PDF
215
216 EXPECT feed-orientation-supported OF-TYPE keyword IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_FEED_ORIENTATION
217 EXPECT feed-orientation-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_FEED_ORIENTATION
218
219 EXPECT finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3 DEFINE-MATCH HAVE_FINISHINGS
220 EXPECT finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag IF-DEFINED HAVE_FINISHINGS
221
222 EXPECT generated-natural-language-supported OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag
223
224 EXPECT identify-actions-default OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(display|flash|sound|speak)$/"
225 EXPECT identify-actions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(display|flash|sound|speak)$/"
226
227 EXPECT ipp-features-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "ipp-everywhere"
228
229 EXPECT ipp-versions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "2.0"
230
231 EXPECT job-account-id-supported OF-TYPE boolean IN-GROUP printer-attributes-tag WITH-VALUE true COUNT 1 DEFINE-MATCH HAVE_JOB_ACCOUNT_ID
232 EXPECT job-account-id-default OF-TYPE name|no-value IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_JOB_ACCOUNT_ID
233
234 EXPECT job-accounting-user-id-supported OF-TYPE boolean IN-GROUP printer-attributes-tag WITH-VALUE true COUNT 1 DEFINE-MATCH HAVE_JOB_ACCOUNTING_USER_ID
235 EXPECT job-accounting-user-id-default OF-TYPE name|no-value IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_JOB_ACCOUNTING_USER_ID
236
237 EXPECT job-constraints-supported OF-TYPE collection IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_JOB_CONSTRAINTS
238
239 EXPECT job-creation-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(media|print-color-mode)$$/"
240
241 EXPECT job-ids-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true
242
243 # TODO: Make job-password-xxx conditionally required
244 EXPECT ?job-password-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
245 EXPECT ?job-password-encryption-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
246
247 EXPECT preferred-attributes-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
248
249 EXPECT job-resolvers-supported OF-TYPE collection IN-GROUP printer-attributes-tag IF-DEFINED HAVE_JOB_CONSTRAINTS
250
251 EXPECT media-bottom-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1
252
253 # Default Get-Printer-Attributes MUST NOT return media-col-database, per PWG 5100.11 (JPS2)
254 EXPECT !media-col-database OF-TYPE collection IN-GROUP printer-attributes-tag
255
256 EXPECT media-source-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_MEDIA_SOURCE
257
258 EXPECT media-type-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_MEDIA_TYPE
259
260 EXPECT media-col-default OF-TYPE collection IN-GROUP printer-attributes-tag COUNT 1
261 EXPECT media-col-default/media-size OF-TYPE collection COUNT 1
262 EXPECT media-col-default/media-size/x-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
263 EXPECT media-col-default/media-size/y-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
264 EXPECT media-col-default/media-source OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_SOURCE
265 EXPECT media-col-default/media-type OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_TYPE
266
267 # TODO: Use EXPECT-ALL (STR #4469)
268 EXPECT media-col-ready OF-TYPE collection|no-value IN-GROUP printer-attributes-tag
269 EXPECT media-col-ready/media-size OF-TYPE collection COUNT 1
270 EXPECT media-col-ready/media-size/x-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
271 EXPECT media-col-ready/media-size/y-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
272 EXPECT media-col-ready/media-source OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_SOURCE
273 EXPECT ?media-col-ready/media-source-properties OF-TYPE collection COUNT 1
274 EXPECT media-col-ready/media-type OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_TYPE
275
276 EXPECT media-col-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
277 EXPECT media-col-supported WITH-VALUE "media-size"
278 EXPECT media-col-supported WITH-VALUE "media-source" IF-DEFINED HAVE_MEDIA_SOURCE
279 EXPECT media-col-supported WITH-VALUE "media-type" IF-DEFINED HAVE_MEDIA_TYPE
280
281 EXPECT media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$MEDIA_REGEX"
282 EXPECT media-default WITH-VALUE "$MEDIA_REGEX" DEFINE-VALUE DEFAULT_MEDIA
283
284 EXPECT media-left-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1
285
286 EXPECT media-ready OF-TYPE keyword|name|no-value IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
287
288 EXPECT media-right-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1
289
290 EXPECT media-size-supported OF-TYPE collection IN-GROUP printer-attributes-tag
291 # TODO: Use EXPECT-ALL (STR #4469)
292 EXPECT media-size-supported/x-dimension OF-TYPE integer|rangeOfInteger
293 EXPECT media-size-supported/y-dimension OF-TYPE integer|rangeOfInteger
294
295 # media-source-supported tests above to set HAVE_MEDIA_SOURCE
296
297 EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
298
299 EXPECT media-top-margin-supported OF-TYPE integer IN-GROUP printer-attributes-tag WITH-ALL-VALUES >-1
300
301 # media-type-supported tests above to set HAVE_MEDIA_TYPE
302
303 EXPECT multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
304
305 EXPECT multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
306
307 EXPECT multiple-operation-time-out-action OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(abort-job|hold-job|process-job)$/"
308
309 EXPECT natural-language-configured OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag COUNT 1
310
311 # operations-supported tested above for required operations
312
313 # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
314 EXPECT orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6,7
315 EXPECT orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6,7
316
317 # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
318 EXPECT output-bin-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
319 EXPECT output-bin-default DEFINE-VALUE DEFAULT_OUTPUT_BIN
320 EXPECT output-bin-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
321
322 EXPECT overrides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "document-number" IF-DEFINED HAVE_PDF
323 EXPECT overrides-supported WITH-VALUE "pages" IF-DEFINED HAVE_PDF
324
325 EXPECT page-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true IF-DEFINED HAVE_PDF
326
327 EXPECT pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
328
329 EXPECT pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_COLOR
330 EXPECT !pages-per-minute-color IF-NOT-DEFINED HAVE_COLOR
331
332 # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
333 EXPECT print-color-mode-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(auto|auto-monochrome|bi-level|color|highlight|monochrome|process-bi-level|process-monochrome)$/"
334 EXPECT print-color-mode-default DEFINE-VALUE DEFAULT_PRINT_COLOR_MODE
335 EXPECT print-color-mode-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(auto|auto-monochrome|bi-level|color|highlight|monochrome|process-bi-level|process-monochrome)$/"
336
337 # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
338 EXPECT print-content-optimize-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(auto|graphic|photo|text|text-and-graphic)$/"
339 EXPECT print-content-optimize-default DEFINE-VALUE DEFAULT_PRINT_CONTENT_OPTIMIZE
340 EXPECT print-content-optimize-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(auto|graphic|photo|text|text-and-graphic)$/"
341
342 # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
343 EXPECT print-rendering-intent-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(auto|absolute|perceptual|relative|relative-bpc|saturation)$/"
344 EXPECT print-rendering-intent-default DEFINE-VALUE DEFAULT_PRINT_RENDERING_INTENT
345 EXPECT print-rendering-intent-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(auto|absolute|perceptual|relative|relative-bpc|saturation)$/"
346
347 # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
348 EXPECT print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
349 EXPECT print-quality-default DEFINE-VALUE DEFAULT_PRINT_QUALITY
350 EXPECT print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
351
352 EXPECT ?printer-alert OF-TYPE octetString IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$ALERT_REGEX"
353 EXPECT ?printer-alert-description OF-TYPE text IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-alert
354
355 EXPECT ?printer-charge-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 DEFINE-MATCH HAVE_CHARGE_INFO
356 EXPECT printer-charge-info-uri OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED HAVE_CHARGE_INFO
357
358 EXPECT printer-config-change-date-time OF-TYPE dateTime IN-GROUP printer-attributes-tag COUNT 1
359
360 EXPECT printer-config-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >-1
361
362 EXPECT printer-device-id OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^([-A-Za-z ]+:[^;]*;)+$/"
363
364 EXPECT printer-geo-location OF-TYPE uri|unknown IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^geo:/"
365
366 EXPECT printer-get-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "document-format"
367
368 # TODO: Use EXPECT-ALL syntax
369 EXPECT printer-icc-profiles-supported OF-TYPE collection IN-GROUP printer-attributes-tag DEFINE-MATCH HAVE_ICC_PROFILES
370 EXPECT printer-icc-profiles-supported/profile-name OF-TYPE name COUNT 1 IF-DEFINED HAVE_ICC_PROFILES
371 EXPECT printer-icc-profiles-supported/profile-uri OF-TYPE uri COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" IF-DEFINED HAVE_ICC_PROFILES
372
373 EXPECT printer-icons OF-TYPE uri IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$HTTP_URI_SCHEME"
374 EXPECT printer-icons OF-TYPE uri WITH-ALL-HOSTNAMES "$hostname"
375
376 EXPECT printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
377
378 EXPECT printer-is-accepting-jobs OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
379
380 EXPECT printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
381
382 EXPECT printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
383
384 EXPECT printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME"
385 # EXPECT !printer-more-info WITH-HOSTNAME "$LINK_LOCAL"
386 # TODO: Provide warnings when hostname doesn't match
387
388 EXPECT printer-name OF-TYPE name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
389
390 EXPECT printer-organization OF-TYPE text IN-GROUP printer-attributes-tag
391
392 EXPECT printer-organizational-unit OF-TYPE text IN-GROUP printer-attributes-tag
393
394 # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
395 EXPECT printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
396 EXPECT printer-resolution-default DEFINE-VALUE DEFAULT_PRINTER_RESOLUTION
397 EXPECT printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
398
399 EXPECT printer-state OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
400
401 EXPECT printer-state-change-date-time OF-TYPE dateTime IN-GROUP printer-attributes-tag COUNT 1
402
403 EXPECT printer-state-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >-1
404
405 EXPECT printer-state-message OF-TYPE text IN-GROUP printer-attributes-tag
406
407 EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag
408
409 EXPECT printer-supply OF-TYPE octetString IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$SUPPLY_REGEX"
410
411 EXPECT printer-supply-description OF-TYPE text IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-supply
412
413 EXPECT printer-supply-info-uri OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME"
414 EXPECT printer-supply-info-uri WITH-HOSTNAME "$hostname"
415 # EXPECT !printer-supply-info-uri WITH-HOSTNAME "$LINK_LOCAL"
416
417 EXPECT printer-up-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
418
419 EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported WITH-ALL-VALUES "$IPP_URI_SCHEME"
420 # EXPECT !printer-uri-supported WITH-HOSTNAME "$LINK_LOCAL"
421
422 EXPECT printer-uuid OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
423
424 EXPECT pwg-raster-document-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
425
426 EXPECT pwg-raster-document-sheet-back OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(flipped|manual-tumble|normal|rotated)$$/"
427
428 EXPECT pwg-raster-document-type-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
429
430 EXPECT queued-job-count OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
431
432 # TODO: Use WITH-VALUE-FROM "name-supported" syntax (STR #4470)
433 EXPECT sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
434 EXPECT sides-default DEFINE-VALUE DEFAULT_SIDES
435 EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
436
437 EXPECT uri-authentication-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
438
439 EXPECT uri-security-supported OF-TYPE keyword IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-authentication-supported
440
441 EXPECT which-jobs-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "completed"
442 EXPECT which-jobs-supported WITH-VALUE "not-completed"
443 }
444
445
446 # Test Get-Printer-Attributes operation with requested-attributes
447 #
448 # Required by: RFC 2911 section 3.2.5, PWG 5100.11 (JPS2)
449 {
450 NAME "I-10. Get-Printer-Attributes Operation (requested-attributes)"
451 OPERATION Get-Printer-Attributes
452 GROUP operation-attributes-tag
453 ATTR charset attributes-charset utf-8
454 ATTR naturalLanguage attributes-natural-language en
455 ATTR uri printer-uri $uri
456 ATTR name requesting-user-name $user
457 ATTR keyword requested-attributes media-col-database,printer-uri-supported
458
459 STATUS successful-ok
460
461 # TODO: Use EXPECT-ALL (STR #4469)
462 EXPECT media-col-database OF-TYPE collection IN-GROUP printer-attributes-tag
463 EXPECT media-col-database/media-size OF-TYPE collection COUNT 1
464 EXPECT media-col-database/media-size/x-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
465 EXPECT media-col-database/media-size/y-dimension OF-TYPE integer COUNT 1 WITH-VALUE >0
466 EXPECT media-col-database/media-source OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_SOURCE
467 EXPECT ?media-col-database/media-source-properties OF-TYPE collection COUNT 1
468 EXPECT media-col-database/media-type OF-TYPE keyword|name COUNT 1 IF-DEFINED HAVE_MEDIA_TYPE
469
470 EXPECT !printer-name
471 EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$IPP_URI_SCHEME"
472 }
473
474
475 # Test Validate-Job operation
476 #
477 # Required by: RFC 2911 section 3.2.3
478 {
479 NAME "I-11 Validate-Job Operation"
480 OPERATION Validate-Job
481 GROUP operation-attributes-tag
482 ATTR charset attributes-charset utf-8
483 ATTR naturalLanguage attributes-natural-language en
484 ATTR uri printer-uri $uri
485 ATTR name requesting-user-name $user
486 ATTR name job-name "color.jpg"
487 ATTR boolean ipp-attribute-fidelity false
488 ATTR name document-name "color.jpg"
489 ATTR keyword compression none
490 ATTR mimeMediaType document-format "image/jpeg"
491
492 GROUP job-attributes-tag
493 ATTR keyword media "$DEFAULT_MEDIA"
494 ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
495 ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
496 ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
497 ATTR enum print-quality $DEFAULT_PRINT_QUALITY
498 ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
499 ATTR keyword sides "one-sided"
500
501 STATUS successful-ok
502 }
503
504
505 # Test Print-Job operation
506 #
507 # Required by: RFC 2911 section 3.2.1
508 {
509 NAME "I-12. Print-Job Operation (color.jpg)"
510 OPERATION Print-Job
511 GROUP operation-attributes-tag
512 ATTR charset attributes-charset utf-8
513 ATTR naturalLanguage attributes-natural-language en
514 ATTR uri printer-uri $uri
515 ATTR name requesting-user-name $user
516 ATTR name job-name "job-color.jpg"
517 ATTR boolean ipp-attribute-fidelity false
518 ATTR name document-name "document-color.jpg"
519 ATTR keyword compression none
520 ATTR mimeMediaType document-format "image/jpeg"
521
522 GROUP job-attributes-tag
523 ATTR keyword media "$DEFAULT_MEDIA"
524 ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
525 ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
526 ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
527 ATTR enum print-quality $DEFAULT_PRINT_QUALITY
528 ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
529 ATTR keyword sides "one-sided"
530
531 FILE "color.jpg"
532
533 STATUS successful-ok
534 STATUS server-error-job-canceled
535 STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
536
537 EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
538
539 EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0
540 EXPECT job-id DEFINE-VALUE PRINT_JOB_ID
541
542 EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9
543 EXPECT job-state WITH-VALUE 7,8,9 DEFINE-MATCH PRINT_JOB_COMPLETED
544
545 EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag
546
547 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
548 }
549
550
551 # Test Get-Jobs operation
552 #
553 # Required by: RFC 2911 section 3.2.6
554 {
555 SKIP-IF-DEFINED PRINT_JOB_COMPLETED
556
557 NAME "I-13. Get-Jobs Operation (default)"
558 OPERATION Get-Jobs
559 GROUP operation-attributes-tag
560 ATTR charset attributes-charset utf-8
561 ATTR naturalLanguage attributes-natural-language en
562 ATTR uri printer-uri $uri
563 ATTR name requesting-user-name $user
564
565 STATUS successful-ok
566
567 EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
568 EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
569 EXPECT !job-name
570 EXPECT !job-state
571 }
572
573
574 # Test Get-Jobs operation
575 #
576 # Required by: RFC 2911 section 3.2.6
577 {
578 SKIP-IF-DEFINED PRINT_JOB_COMPLETED
579
580 NAME "I-14. Get-Jobs Operation (requested-attributes)"
581 OPERATION Get-Jobs
582 GROUP operation-attributes-tag
583 ATTR charset attributes-charset utf-8
584 ATTR naturalLanguage attributes-natural-language en
585 ATTR uri printer-uri $uri
586 ATTR name requesting-user-name $user
587 ATTR keyword requested-attributes all
588
589 STATUS successful-ok
590
591 # PWG 5100.14 - Table 9 - Job Description attributes
592 EXPECT ?compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
593 EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
594 EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
595 EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
596 EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1
597 EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
598 EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
599 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
600 EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
601 EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
602 EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
603 EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$user"
604 EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
605 EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
606 EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<7
607 EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
608 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
609 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
610 EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
611 EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
612 EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
613 EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
614
615 # PWG 5100.15 - Table 8 - Job Template attributes
616 EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
617 EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
618 EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
619 EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
620 EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
621 EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
622 EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
623 EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
624 EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
625 EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
626 EXPECT ?page-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag
627 EXPECT ?print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
628 EXPECT ?print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
629 EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
630 EXPECT ?print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
631 EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1
632 EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
633 }
634
635
636 # Test Get-Jobs operation
637 #
638 # Required by: RFC 2911 section 3.2.6
639 {
640 SKIP-IF-DEFINED PRINT_JOB_COMPLETED
641
642 NAME "I-15. Get-Jobs Operation (which-jobs=not-completed)"
643 OPERATION Get-Jobs
644 GROUP operation-attributes-tag
645 ATTR charset attributes-charset utf-8
646 ATTR naturalLanguage attributes-natural-language en
647 ATTR uri printer-uri $uri
648 ATTR name requesting-user-name $user
649 ATTR keyword which-jobs not-completed
650
651 STATUS successful-ok
652
653 EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
654 EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
655 EXPECT !job-name
656 EXPECT !job-state
657 }
658
659
660 # Wait for job to complete...
661 {
662 SKIP-IF-NOT-DEFINED PRINT_JOB_ID
663
664 NAME "I-16. Get-Job-Attributes Until Job Complete"
665 OPERATION Get-Job-Attributes
666 GROUP operation-attributes-tag
667 ATTR charset attributes-charset utf-8
668 ATTR naturalLanguage attributes-natural-language en
669 ATTR uri printer-uri $uri
670 ATTR integer job-id $PRINT_JOB_ID
671 ATTR name requesting-user-name $user
672
673 STATUS successful-ok
674 EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6 REPEAT-NO-MATCH REPEAT-LIMIT 30
675 DISPLAY job-state
676
677 # PWG 5100.14 - Table 9 - Job Description attributes
678 EXPECT compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "none"
679 EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
680 EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
681 EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
682 EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "image/jpeg"
683 EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE ""
684 EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "document-color.jpg"
685 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $PRINT_JOB_ID
686 EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
687 EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
688 EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "job-color.jpg"
689 EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
690 EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
691 EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
692 EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
693 EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
694 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
695 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
696 EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
697 EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
698 EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
699 EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
700
701 # PWG 5100.15 - Table 8 - Job Template attributes
702 EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "1"
703 EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
704 EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
705 EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
706 EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
707 EXPECT media OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_MEDIA"
708 EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
709 EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
710 EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
711 EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_OUTPUT_BIN"
712 EXPECT !page-ranges
713 EXPECT print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_COLOR_MODE"
714 EXPECT print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
715 EXPECT print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $DEFAULT_PRINT_QUALITY
716 EXPECT print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_RENDERING_INTENT"
717 EXPECT printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINTER_RESOLUTION"
718 EXPECT sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "one-sided"
719 }
720
721
722 # Test Get-Jobs operation
723 #
724 # Required by: RFC 2911 section 3.2.6
725 {
726 NAME "I-17. Get-Jobs Operation (which-jobs=completed)"
727 OPERATION Get-Jobs
728 GROUP operation-attributes-tag
729 ATTR charset attributes-charset utf-8
730 ATTR naturalLanguage attributes-natural-language en
731 ATTR uri printer-uri $uri
732 ATTR name requesting-user-name $user
733 ATTR keyword which-jobs completed
734
735 STATUS successful-ok
736
737 # TODO: Use EXPECT-ALL/ANY syntax to check for job that was just completed
738 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
739 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
740 EXPECT !job-name
741 EXPECT !job-state
742 }
743
744
745 # Test Get-Jobs operation
746 #
747 # Required by: RFC 2911 section 3.2.6
748 {
749 NAME "I-18. Get-Jobs Operation (which-jobs, requested-attributes)"
750 OPERATION Get-Jobs
751 GROUP operation-attributes-tag
752 ATTR charset attributes-charset utf-8
753 ATTR naturalLanguage attributes-natural-language en
754 ATTR uri printer-uri $uri
755 ATTR name requesting-user-name $user
756 ATTR keyword requested-attributes all
757 ATTR keyword which-jobs completed
758
759 STATUS successful-ok
760
761 # PWG 5100.14 - Table 9 - Job Description attributes
762 EXPECT compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
763 EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
764 EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
765 EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
766 EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1
767 EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
768 EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
769 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
770 EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
771 EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
772 EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
773 EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
774 EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
775 EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
776 EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6,<10
777 EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
778 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
779 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
780 EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
781 EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
782 EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
783 EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
784
785 # PWG 5100.15 - Table 8 - Job Template attributes
786 EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
787 EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
788 EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
789 EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
790 EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
791 EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
792 EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
793 EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
794 EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
795 EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
796 EXPECT ?page-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag
797 EXPECT ?print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
798 EXPECT ?print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
799 EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
800 EXPECT ?print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
801 EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1
802 EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
803 }
804
805
806 # Test Cancel-Job operation
807 #
808 # Required by: RFC 2911 section 3.3.3
809 {
810 NAME "I-19. Cancel-Job Operation (completed job)"
811 OPERATION Cancel-Job
812 GROUP operation-attributes-tag
813 ATTR charset attributes-charset utf-8
814 ATTR naturalLanguage attributes-natural-language en
815 ATTR uri printer-uri $uri
816 ATTR integer job-id $PRINT_JOB_ID
817 ATTR name requesting-user-name $user
818
819 STATUS client-error-not-possible
820 }
821
822
823 # Test Print-Job operation
824 #
825 # Required by: RFC 2911 section 3.2.1
826 {
827 NAME "I-20. Print-Job Operation (color.jpg)"
828 OPERATION Print-Job
829 GROUP operation-attributes-tag
830 ATTR charset attributes-charset utf-8
831 ATTR naturalLanguage attributes-natural-language en
832 ATTR uri printer-uri $uri
833 ATTR name requesting-user-name $user
834 ATTR name job-name "job2-color.jpg"
835 ATTR boolean ipp-attribute-fidelity false
836 ATTR name document-name "document2-color.jpg"
837 ATTR keyword compression none
838 ATTR mimeMediaType document-format "image/jpeg"
839
840 GROUP job-attributes-tag
841 ATTR keyword media "$DEFAULT_MEDIA"
842 ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
843 ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
844 ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
845 ATTR enum print-quality $DEFAULT_PRINT_QUALITY
846 ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
847 ATTR keyword sides "one-sided"
848
849 FILE "color.jpg"
850
851 STATUS successful-ok
852 STATUS server-error-job-canceled
853 STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
854
855 EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
856
857 EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0
858 EXPECT job-id DEFINE-VALUE PRINT_JOB2_ID
859
860 EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9
861
862 EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag
863
864 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
865 }
866
867
868 # Test Cancel-Job operation
869 #
870 # Required by: RFC 2911 section 3.3.3
871 {
872 NAME "I-21. Cancel-Job Operation (pending/processing job)"
873 OPERATION Cancel-Job
874 GROUP operation-attributes-tag
875 ATTR charset attributes-charset utf-8
876 ATTR naturalLanguage attributes-natural-language en
877 ATTR uri printer-uri $uri
878 ATTR integer job-id $PRINT_JOB2_ID
879 ATTR name requesting-user-name $user
880
881 STATUS successful-ok
882 STATUS client-error-not-possible
883 }
884
885
886 # Test Get-Job-Attributes operation
887 #
888 # Required by: RFC 2911 section 3.3.4
889 {
890 NAME "I-22. Get-Job-Attributes Operation"
891 OPERATION Get-Job-Attributes
892 GROUP operation-attributes-tag
893 ATTR charset attributes-charset utf-8
894 ATTR naturalLanguage attributes-natural-language en
895 ATTR uri printer-uri $uri
896 ATTR integer job-id $PRINT_JOB2_ID
897 ATTR name requesting-user-name $user
898
899 STATUS successful-ok
900
901 # PWG 5100.14 - Table 9 - Job Description attributes
902 EXPECT compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "none"
903 EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
904 EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
905 EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
906 EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "image/jpeg"
907 EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE ""
908 EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "document2-color.jpg"
909 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $PRINT_JOB2_ID
910 EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
911 EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
912 EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "job2-color.jpg"
913 EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
914 EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
915 EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
916 EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6,<10
917 EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
918 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
919 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
920 EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
921 EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
922 EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
923 EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
924
925 # PWG 5100.15 - Table 8 - Job Template attributes
926 EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "1"
927 EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
928 EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
929 EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
930 EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
931 EXPECT media OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_MEDIA"
932 EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
933 EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
934 EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
935 EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_OUTPUT_BIN"
936 EXPECT !page-ranges
937 EXPECT print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_COLOR_MODE"
938 EXPECT print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
939 EXPECT print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $DEFAULT_PRINT_QUALITY
940 EXPECT print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_RENDERING_INTENT"
941 EXPECT printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINTER_RESOLUTION"
942 EXPECT sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "one-sided"
943 }
944
945
946 # Test Create-Job and Send-Document operations
947 #
948 # Defined by: RFC 2911 section 3.2.4 and 3.3.1
949 {
950 NAME "I-23. Create-Job Operation"
951 OPERATION Create-Job
952 GROUP operation-attributes-tag
953 ATTR charset attributes-charset utf-8
954 ATTR naturalLanguage attributes-natural-language en
955 ATTR uri printer-uri $uri
956 ATTR name requesting-user-name $user
957 ATTR name job-name "job3-color.jpg"
958 ATTR boolean ipp-attribute-fidelity false
959
960 GROUP job-attributes-tag
961 ATTR keyword media "$DEFAULT_MEDIA"
962 ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
963 ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
964 ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
965 ATTR enum print-quality $DEFAULT_PRINT_QUALITY
966 ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
967 ATTR keyword sides "one-sided"
968
969 STATUS successful-ok
970 STATUS server-error-job-canceled
971 STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
972
973 EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
974
975 EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0
976 EXPECT job-id DEFINE-VALUE PRINT_JOB3_ID
977
978 EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6
979
980 EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag
981
982 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
983 }
984
985 {
986 SKIP-IF-NOT-DEFINED PRINT_JOB3_ID
987
988 NAME "I-24. Send-Document Operation (color.jpg)"
989 OPERATION Send-Document
990 GROUP operation-attributes-tag
991 ATTR charset attributes-charset utf-8
992 ATTR naturalLanguage attributes-natural-language en
993 ATTR uri printer-uri $uri
994 ATTR integer job-id $PRINT_JOB3_ID
995 ATTR name requesting-user-name $user
996 ATTR boolean last-document true
997 ATTR name document-name "document3-color.jpg"
998 ATTR keyword compression none
999 ATTR mimeMediaType document-format "image/jpeg"
1000
1001 FILE "color.jpg"
1002
1003 STATUS successful-ok
1004 STATUS server-error-job-canceled
1005 }
1006
1007
1008 # Wait for job to complete...
1009 {
1010 SKIP-IF-NOT-DEFINED PRINT_JOB3_ID
1011
1012 NAME "I-25. Get-Job-Attributes Until Job Complete"
1013 OPERATION Get-Job-Attributes
1014 GROUP operation-attributes-tag
1015 ATTR charset attributes-charset utf-8
1016 ATTR naturalLanguage attributes-natural-language en
1017 ATTR uri printer-uri $uri
1018 ATTR integer job-id $PRINT_JOB3_ID
1019 ATTR name requesting-user-name $user
1020
1021 STATUS successful-ok
1022 EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6 REPEAT-NO-MATCH REPEAT-LIMIT 30
1023 DISPLAY job-state
1024
1025 # PWG 5100.14 - Table 9 - Job Description attributes
1026 EXPECT compression-supplied OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "none"
1027 EXPECT date-time-at-completed OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
1028 EXPECT date-time-at-creation OF-TYPE dateTime IN-GROUP job-attributes-tag COUNT 1
1029 EXPECT date-time-at-processing OF-TYPE dateTime|no-value IN-GROUP job-attributes-tag COUNT 1
1030 EXPECT document-format-supplied OF-TYPE mimeMediaType|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "image/jpeg"
1031 EXPECT ?document-format-version-supplied OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE ""
1032 EXPECT document-name-supplied OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "document3-color.jpg"
1033 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $PRINT_JOB3_ID
1034 EXPECT job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
1035 EXPECT job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
1036 EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "job3-color.jpg"
1037 EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
1038 EXPECT job-printer-up-time OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
1039 EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$uri"
1040 EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
1041 EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
1042 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1043 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
1044 EXPECT job-uuid OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$UUID_URI"
1045 EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
1046 EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
1047 EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
1048
1049 # PWG 5100.15 - Table 8 - Job Template attributes
1050 EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "1"
1051 EXPECT ?feed-orientation OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
1052 EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
1053 EXPECT ?job-account-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
1054 EXPECT ?job-accounting-user-id OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
1055 EXPECT media OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_MEDIA"
1056 EXPECT ?media-col OF-TYPE collection IN-GROUP job-attributes-tag COUNT 1
1057 EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1
1058 EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1
1059 EXPECT ?output-bin OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_OUTPUT_BIN"
1060 EXPECT !page-ranges
1061 EXPECT print-color-mode OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_COLOR_MODE"
1062 EXPECT print-content-optimize OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
1063 EXPECT print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE $DEFAULT_PRINT_QUALITY
1064 EXPECT print-rendering-intent OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINT_RENDERING_INTENT"
1065 EXPECT printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$DEFAULT_PRINTER_RESOLUTION"
1066 EXPECT sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "one-sided"
1067 }
1068
1069
1070 # Test 'media-empty' reason
1071 {
1072 PAUSE "Remove media from printer."
1073
1074 NAME "I-26. Media Empty: Printer correctly reports 'media-empty' when at least one removable tray is empty (MUST NOT be a manual feed or bypass tray)"
1075 OPERATION Get-Printer-Attributes
1076 GROUP operation-attributes-tag
1077 ATTR charset attributes-charset utf-8
1078 ATTR naturalLanguage attributes-natural-language en
1079 ATTR uri printer-uri $uri
1080 ATTR name requesting-user-name $user
1081 ATTR keyword requested-attributes "printer-state-reasons"
1082
1083 STATUS successful-ok
1084
1085 EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^media-empty/"
1086 EXPECT !printer-state
1087 }
1088
1089
1090 # Test Print-Job operation
1091 #
1092 # Required by: RFC 2911 section 3.2.1
1093 {
1094 NAME "I-27. Print-Job Operation (color.jpg)"
1095 OPERATION Print-Job
1096 GROUP operation-attributes-tag
1097 ATTR charset attributes-charset utf-8
1098 ATTR naturalLanguage attributes-natural-language en
1099 ATTR uri printer-uri $uri
1100 ATTR name requesting-user-name $user
1101 ATTR name job-name "job4-color.jpg"
1102 ATTR boolean ipp-attribute-fidelity false
1103 ATTR name document-name "document4-color.jpg"
1104 ATTR keyword compression none
1105 ATTR mimeMediaType document-format "image/jpeg"
1106
1107 GROUP job-attributes-tag
1108 ATTR keyword media "$DEFAULT_MEDIA"
1109 ATTR keyword print-color-mode "$DEFAULT_PRINT_COLOR_MODE"
1110 ATTR keyword print-content-optimize "$DEFAULT_PRINT_CONTENT_OPTIMIZE"
1111 ATTR keyword print-rendering-intent "$DEFAULT_PRINT_RENDERING_INTENT"
1112 ATTR enum print-quality $DEFAULT_PRINT_QUALITY
1113 ATTR resolution printer-resolution $DEFAULT_PRINTER_RESOLUTION
1114 ATTR keyword sides "one-sided"
1115
1116 FILE "color.jpg"
1117
1118 STATUS successful-ok
1119 STATUS server-error-job-canceled
1120 STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1121
1122 EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1123
1124 EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0
1125 EXPECT job-id DEFINE-VALUE PRINT_JOB4_ID
1126
1127 EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9
1128 EXPECT job-state WITH-VALUE 7,8,9 DEFINE-MATCH PRINT_JOB_COMPLETED
1129
1130 EXPECT job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1131
1132 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1133 }
1134
1135
1136 # Test 'media-needed' reason
1137 {
1138 NAME "I-28. Media Needed: Printer correctly reports 'media-needed' when a job is queued."
1139 OPERATION Get-Printer-Attributes
1140 GROUP operation-attributes-tag
1141 ATTR charset attributes-charset utf-8
1142 ATTR naturalLanguage attributes-natural-language en
1143 ATTR uri printer-uri $uri
1144 ATTR name requesting-user-name $user
1145 ATTR keyword requested-attributes "printer-state-reasons"
1146
1147 STATUS successful-ok
1148
1149 EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^media-needed/"
1150 EXPECT !printer-state
1151 }
1152
1153
1154
1155
1156 #
1157 # End of "$Id: ipp-tests.test 13138 2016-03-15 14:59:54Z msweet $".
1158 #