]> git.ipfire.org Git - thirdparty/cups.git/blame - test/ipp-1.1.test
Merge changes from CUPS 1.5svn-r9000.
[thirdparty/cups.git] / test / ipp-1.1.test
CommitLineData
f8b3a85b
MS
1#
2# "$Id$"
3#
4# IPP/1.1 test suite.
5#
6# Copyright 2007-2010 by Apple Inc.
7# Copyright 2001-2006 by Easy Software Products. All rights reserved.
8#
9# These coded instructions, statements, and computer programs are the
10# property of Apple Inc. and are protected by Federal copyright
11# law. Distribution and use rights are outlined in the file "LICENSE.txt"
12# which should have been included with this file. If this file is
13# file is missing or damaged, see the license at "http://www.cups.org/".
14#
15# Usage:
16#
17# ./ipptest -f filename printer-uri ipp-1.1.test
18#
19
20# Test that a request-id value of 0 is not accepted.
21#
22# Required by: RFC 2911 section 3.1.1
23{
24 NAME "3.1.1: Bad request-id value 0"
25 REQUEST-ID 0
26 OPERATION Get-Printer-Attributes
27 GROUP operation-attributes-tag
28 ATTR charset attributes-charset utf-8
29 ATTR naturalLanguage attributes-natural-language en
30 ATTR uri printer-uri $uri
31
32 STATUS client-error-bad-request
33 EXPECT !printer-uri-supported
34}
35
36
37# Test that the first two attributes must be attributes-charset and
38# attributes-natural-language.
39#
40# Required by: RFC 2911 section 3.1.4
41{
42 NAME "3.1.4: No Operation Attributes"
43 REQUEST-ID random
44 OPERATION Get-Printer-Attributes
45 GROUP operation-attributes-tag
46
47 STATUS client-error-bad-request
48 EXPECT !printer-uri-supported
49}
50{
51 NAME "3.1.4: attributes-charset"
52 OPERATION Get-Printer-Attributes
53 GROUP operation-attributes-tag
54 ATTR charset attributes-charset utf-8
55 ATTR uri printer-uri $uri
56
57 STATUS client-error-bad-request
58 EXPECT !printer-uri-supported
59}
60{
61 NAME "3.1.4: attributes-natural-language"
62 OPERATION Get-Printer-Attributes
63 GROUP operation-attributes-tag
64 ATTR naturalLanguage attributes-natural-language en
65 ATTR uri printer-uri $uri
66
67 STATUS client-error-bad-request
68 EXPECT !printer-uri-supported
69}
70{
71 NAME "3.1.4: attributes-natural-language + attributes-charset"
72 OPERATION Get-Printer-Attributes
73 GROUP operation-attributes-tag
74 ATTR naturalLanguage attributes-natural-language en
75 ATTR charset attributes-charset utf-8
76 ATTR uri printer-uri $uri
77
78 STATUS client-error-bad-request
79 EXPECT !printer-uri-supported
80}
81{
82 NAME "3.1.4: attributes-charset + attributes-natural-language"
83 OPERATION Get-Printer-Attributes
84 GROUP operation-attributes-tag
85 ATTR charset attributes-charset utf-8
86 ATTR naturalLanguage attributes-natural-language en
87 ATTR uri printer-uri $uri
88
89 STATUS successful-ok
90 EXPECT printer-uri-supported OF-TYPE uri
91}
92
93
94# Test that bad IPP versions are not supported.
95#
96# Required by: RFC 2911 section 3.1.8
97{
98 # The name of the test...
99 NAME "3.1.8: Unsupported IPP version 0.0"
100 VERSION 0.0
101 OPERATION Get-Printer-Attributes
102 ATTR charset attributes-charset utf-8
103 ATTR naturalLanguage attributes-natural-language en
104 ATTR uri printer-uri $uri
105
106 STATUS server-error-version-not-supported
107 EXPECT !printer-uri-supported
108}
109
110
111# Test that printer operations require the printer-uri operation attribute.
112#
113# Required by: RFC 2911 section 3.2
114{
115 NAME "3.2: No printer-uri operation attribute"
116 OPERATION Get-Printer-Attributes
117 GROUP operation-attributes-tag
118 ATTR charset attributes-charset utf-8
119 ATTR naturalLanguage attributes-natural-language en
120
121 STATUS client-error-bad-request
122 EXPECT !printer-uri-supported
123}
124
125
126# Test Print-Job operation
127#
128# Required by: RFC 2911 section 3.2.1
129{
130 NAME "3.2.1: Print-Job Operation"
131 OPERATION Print-Job
132 GROUP operation-attributes-tag
133 ATTR charset attributes-charset utf-8
134 ATTR naturalLanguage attributes-natural-language en
135 ATTR uri printer-uri $uri
136 ATTR name requesting-user-name $user
137 ATTR name job-name $filename
138 ATTR boolean ipp-attribute-fidelity false
139 ATTR name document-name $filename
140 ATTR keyword compression none
141 ATTR mimeMediaType document-format application/octet-stream
142 FILE $filename
143
144 STATUS successful-ok
145 STATUS client-error-document-format-not-supported
146 EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag
147 EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
148 WITH-VALUE >0
149 EXPECT job-state OF-TYPE enum COUNT 1 IN-GROUP job-attributes-tag
150 WITH-VALUE 3,4,5,6,7,8,9
151 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
152 EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
153 EXPECT ?number-of-intervening-jobs OF-TYPE integer
154 IN-GROUP job-attributes-tag WITH-VALUE >-1
155}
156
157# Test Get-Printer-Attributes operation
158#
159# Required by: RFC 2911 section 3.2.5
160{
161 NAME "3.2.5: Get-Printer-Attributes Operation (default)"
162 OPERATION Get-Printer-Attributes
163 GROUP operation-attributes-tag
164 ATTR charset attributes-charset utf-8
165 ATTR naturalLanguage attributes-natural-language en
166 ATTR uri printer-uri $uri
167 ATTR name requesting-user-name $user
168 ATTR mimeMediaType document-format application/octet-stream
169
170 STATUS successful-ok
171
172 # Job template attributes
173 EXPECT ?copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
174 EXPECT ?copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag
175 EXPECT ?finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag
176 EXPECT ?finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3
177 EXPECT ?job-hold-until-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
178 EXPECT ?job-hold-until-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE no-hold
179 EXPECT ?job-priority-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101
180 EXPECT ?job-priority-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101
181 EXPECT ?job-sheets-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag
182 EXPECT ?job-sheets-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE none
183 EXPECT ?media-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
184 EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag
185 EXPECT ?media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
186 EXPECT ?multiple-document-handling-default OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
187 EXPECT ?multiple-document-handling-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
188 EXPECT ?number-up-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
189 EXPECT ?number-up-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0
190 EXPECT ?number-up-supported WITH-VALUE 1
191 EXPECT ?orientation-requested-default OF-TYPE enum,no-value IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE no-value,3,4,5,6
192 EXPECT ?orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6
193 EXPECT ?pages-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag
194 EXPECT ?print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
195 EXPECT ?print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
196 EXPECT ?printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
197 EXPECT ?printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
198 EXPECT ?sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
199 EXPECT ?sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
200
201 # Printer description attributes
202 EXPECT ?color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
203 EXPECT ?job-impressions-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
204 EXPECT ?job-k-octets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
205 EXPECT ?job-media-sheets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
206 EXPECT ?multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
207 EXPECT ?multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
208 EXPECT ?pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
209 EXPECT ?pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
210 EXPECT ?printer-driver-installer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
211 EXPECT ?printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
212 EXPECT ?printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
213 EXPECT ?printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
214 EXPECT ?printer-message-from-operator OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
215 EXPECT ?printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
216 EXPECT ?printer-more-info-manufacturer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
217 EXPECT ?printer-state-message OF-TYPE text IN-GROUP printer-attributes-tag
218 EXPECT ?reference-uri-schemes-supported OF-TYPE uriScheme IN-GROUP printer-attributes-tag
219 EXPECT charset-configured OF-TYPE charset IN-GROUP printer-attributes-tag COUNT 1
220 EXPECT charset-supported OF-TYPE charset IN-GROUP printer-attributes-tag WITH-VALUE utf-8
221 EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE none
222 EXPECT document-format-default OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag COUNT 1
223 EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag
224 EXPECT generated-natural-language-supported OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag
225 EXPECT ipp-versions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE 1.1
226 EXPECT natural-language-configured OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag COUNT 1
227 EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job
228 # Not requiring 0x0004 Validate-Job since it is deprecated
229 EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job
230 EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes
231 EXPECT operations-supported WITH-VALUE 0x000a # Get-Jobs
232 EXPECT operations-supported WITH-VALUE 0x000b # Get-Printer-Attributes
233 EXPECT pdl-override-supported OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1
234 EXPECT printer-is-accepting-jobs OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
235 EXPECT printer-name OF-TYPE name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{1,127}$$/"
236 EXPECT printer-state OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
237 EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag
238 EXPECT printer-up-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
239 EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported
240 EXPECT queued-job-count OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
241 EXPECT uri-authentication-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
242 EXPECT uri-security-supported OF-TYPE keyword IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-authentication-supported
243}
244
245
246# Test Get-Printer-Attributes operation with requested-attributes
247#
248# Required by: RFC 2911 section 3.2.5
249{
250 NAME "3.2.5: Get-Printer-Attributes Operation (requested-attributes)"
251 OPERATION Get-Printer-Attributes
252 GROUP operation-attributes-tag
253 ATTR charset attributes-charset utf-8
254 ATTR naturalLanguage attributes-natural-language en
255 ATTR uri printer-uri $uri
256 ATTR name requesting-user-name $user
257 ATTR mimeMediaType document-format application/octet-stream
258 ATTR keyword requested-attributes printer-uri-supported
259
260 STATUS successful-ok
261
262 EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag
263 EXPECT !printer-name
264}
265
266
267# Test Get-Jobs operation
268#
269# Required by: RFC 2911 section 3.2.6
270{
271 NAME "3.2.6: Get-Jobs Operation (default)"
272 OPERATION Get-Jobs
273 GROUP operation-attributes-tag
274 ATTR charset attributes-charset utf-8
275 ATTR naturalLanguage attributes-natural-language en
276 ATTR uri printer-uri $uri
277 ATTR name requesting-user-name $user
278
279 STATUS successful-ok
280 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
281 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
282 EXPECT !job-printer-uri
283 EXPECT !job-more-info
284 EXPECT !job-name
285 EXPECT !job-originating-user-name
286 EXPECT !job-state
287 EXPECT !job-state-reasons
288 EXPECT !job-state-message
289 EXPECT !job-detailed-status-messages
290 EXPECT !number-of-documents
291 EXPECT !output-device-assigned
292 EXPECT !time-at-creation
293 EXPECT !time-at-processing
294 EXPECT !time-at-completed
295 EXPECT !job-printer-up-time
296 EXPECT !date-time-at-creation
297 EXPECT !date-time-at-processing
298 EXPECT !date-time-at-completed
299 EXPECT !number-of-intervening-jobs
300 EXPECT !job-message-from-operator
301 EXPECT !job-k-octets
302 EXPECT !job-impressions
303 EXPECT !job-media-sheets
304 EXPECT !job-k-octets-processed
305 EXPECT !job-impressions-completed
306 EXPECT !job-media-sheets-completed
307
308 EXPECT !copies
309 EXPECT !finishings
310 EXPECT !job-hold-until
311 EXPECT !job-priority
312 EXPECT !job-sheets
313 EXPECT !media
314 EXPECT !multiple-document-handling
315 EXPECT !number-up
316 EXPECT !orientation-requested
317 EXPECT !pages-ranges
318 EXPECT !print-quality
319 EXPECT !printer-resolution
320 EXPECT !sides
321}
322
323
324# Test Get-Jobs operation
325#
326# Required by: RFC 2911 section 3.2.6
327{
328 NAME "3.2.6: Get-Jobs Operation (requested-attributes)"
329 OPERATION Get-Jobs
330 GROUP operation-attributes-tag
331 ATTR charset attributes-charset utf-8
332 ATTR naturalLanguage attributes-natural-language en
333 ATTR uri printer-uri $uri
334 ATTR name requesting-user-name $user
335 ATTR keyword requested-attributes all
336
337 STATUS successful-ok
338 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
339 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
340 EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
341 EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
342 EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
343 EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
344 EXPECT job-state OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
345 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
346 EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
347 EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag
348 EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
349 EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
350 EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1
351 EXPECT time-at-processing OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1
352 EXPECT time-at-completed OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1
353 EXPECT job-printer-up-time OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1
354 EXPECT ?date-time-at-creation OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1
355 EXPECT ?date-time-at-processing OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1
356 EXPECT ?date-time-at-completed OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1
357 EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
358 EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
359 EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
360 EXPECT ?job-impressions OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
361 EXPECT ?job-media-sheets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
362 EXPECT ?job-k-octets-processed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
363 EXPECT ?job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
364 EXPECT ?job-media-sheets-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
365
366 EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
367 EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
368 EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
369 EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101
370 EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag
371 EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
372 EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
373 EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
374 EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
375 EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag
376 EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5
377 EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1
378 EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
379}
380
381
382# Test Get-Jobs operation
383#
384# Required by: RFC 2911 section 3.2.6
385{
386 NAME "3.2.6: Get-Jobs Operation (my-jobs)"
387 OPERATION Get-Jobs
388 GROUP operation-attributes-tag
389 ATTR charset attributes-charset utf-8
390 ATTR naturalLanguage attributes-natural-language en
391 ATTR uri printer-uri $uri
392 ATTR name requesting-user-name $user
393 ATTR boolean my-jobs true
394
395 STATUS successful-ok
396 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
397 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
398 EXPECT !job-printer-uri
399 EXPECT !job-more-info
400 EXPECT !job-name
401 EXPECT !job-originating-user-name
402 EXPECT !job-state
403 EXPECT !job-state-reasons
404 EXPECT !job-state-message
405 EXPECT !job-detailed-status-messages
406 EXPECT !number-of-documents
407 EXPECT !output-device-assigned
408 EXPECT !time-at-creation
409 EXPECT !time-at-processing
410 EXPECT !time-at-completed
411 EXPECT !job-printer-up-time
412 EXPECT !date-time-at-creation
413 EXPECT !date-time-at-processing
414 EXPECT !date-time-at-completed
415 EXPECT !number-of-intervening-jobs
416 EXPECT !job-message-from-operator
417 EXPECT !job-k-octets
418 EXPECT !job-impressions
419 EXPECT !job-media-sheets
420 EXPECT !job-k-octets-processed
421 EXPECT !job-impressions-completed
422 EXPECT !job-media-sheets-completed
423
424 EXPECT !copies
425 EXPECT !finishings
426 EXPECT !job-hold-until
427 EXPECT !job-priority
428 EXPECT !job-sheets
429 EXPECT !media
430 EXPECT !multiple-document-handling
431 EXPECT !number-up
432 EXPECT !orientation-requested
433 EXPECT !pages-ranges
434 EXPECT !print-quality
435 EXPECT !printer-resolution
436 EXPECT !sides
437}
438
439
440# Test Get-Jobs operation
441#
442# Required by: RFC 2911 section 3.2.6
443{
444 NAME "3.2.6: Get-Jobs Operation (my-jobs different user)"
445 OPERATION Get-Jobs
446 GROUP operation-attributes-tag
447 ATTR charset attributes-charset utf-8
448 ATTR naturalLanguage attributes-natural-language en
449 ATTR uri printer-uri $uri
450 ATTR name requesting-user-name not-$user
451 ATTR boolean my-jobs true
452
453 STATUS successful-ok
454 EXPECT !job-id
455 EXPECT !job-uri
456 EXPECT !job-printer-uri
457 EXPECT !job-more-info
458 EXPECT !job-name
459 EXPECT !job-originating-user-name
460 EXPECT !job-state
461 EXPECT !job-state-reasons
462 EXPECT !job-state-message
463 EXPECT !job-detailed-status-messages
464 EXPECT !number-of-documents
465 EXPECT !output-device-assigned
466 EXPECT !time-at-creation
467 EXPECT !time-at-processing
468 EXPECT !time-at-completed
469 EXPECT !job-printer-up-time
470 EXPECT !date-time-at-creation
471 EXPECT !date-time-at-processing
472 EXPECT !date-time-at-completed
473 EXPECT !number-of-intervening-jobs
474 EXPECT !job-message-from-operator
475 EXPECT !job-k-octets
476 EXPECT !job-impressions
477 EXPECT !job-media-sheets
478 EXPECT !job-k-octets-processed
479 EXPECT !job-impressions-completed
480 EXPECT !job-media-sheets-completed
481
482 EXPECT !copies
483 EXPECT !finishings
484 EXPECT !job-hold-until
485 EXPECT !job-priority
486 EXPECT !job-sheets
487 EXPECT !media
488 EXPECT !multiple-document-handling
489 EXPECT !number-up
490 EXPECT !orientation-requested
491 EXPECT !pages-ranges
492 EXPECT !print-quality
493 EXPECT !printer-resolution
494 EXPECT !sides
495}
496
497
498# Test Get-Jobs operation
499#
500# Required by: RFC 2911 section 3.2.6
501{
502 NAME "3.2.6: Get-Jobs Operation (which-jobs=not-completed)"
503 OPERATION Get-Jobs
504 GROUP operation-attributes-tag
505 ATTR charset attributes-charset utf-8
506 ATTR naturalLanguage attributes-natural-language en
507 ATTR uri printer-uri $uri
508 ATTR name requesting-user-name $user
509 ATTR keyword which-jobs not-completed
510
511 STATUS successful-ok
512 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
513 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
514 EXPECT !job-printer-uri
515 EXPECT !job-more-info
516 EXPECT !job-name
517 EXPECT !job-originating-user-name
518 EXPECT !job-state
519 EXPECT !job-state-reasons
520 EXPECT !job-state-message
521 EXPECT !job-detailed-status-messages
522 EXPECT !number-of-documents
523 EXPECT !output-device-assigned
524 EXPECT !time-at-creation
525 EXPECT !time-at-processing
526 EXPECT !time-at-completed
527 EXPECT !job-printer-up-time
528 EXPECT !date-time-at-creation
529 EXPECT !date-time-at-processing
530 EXPECT !date-time-at-completed
531 EXPECT !number-of-intervening-jobs
532 EXPECT !job-message-from-operator
533 EXPECT !job-k-octets
534 EXPECT !job-impressions
535 EXPECT !job-media-sheets
536 EXPECT !job-k-octets-processed
537 EXPECT !job-impressions-completed
538 EXPECT !job-media-sheets-completed
539
540 EXPECT !copies
541 EXPECT !finishings
542 EXPECT !job-hold-until
543 EXPECT !job-priority
544 EXPECT !job-sheets
545 EXPECT !media
546 EXPECT !multiple-document-handling
547 EXPECT !number-up
548 EXPECT !orientation-requested
549 EXPECT !pages-ranges
550 EXPECT !print-quality
551 EXPECT !printer-resolution
552 EXPECT !sides
553}
554
555
556
557# Test Get-Jobs operation
558#
559# Required by: RFC 2911 section 3.2.6
560{
561 NAME "3.2.6: Get-Jobs Operation (which-jobs=completed)"
562 OPERATION Get-Jobs
563 GROUP operation-attributes-tag
564 ATTR charset attributes-charset utf-8
565 ATTR naturalLanguage attributes-natural-language en
566 ATTR uri printer-uri $uri
567 ATTR name requesting-user-name $user
568 ATTR keyword which-jobs completed
569 DELAY 10
570
571 STATUS successful-ok
572 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
573 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
574 EXPECT !job-printer-uri
575 EXPECT !job-more-info
576 EXPECT !job-name
577 EXPECT !job-originating-user-name
578 EXPECT !job-state
579 EXPECT !job-state-reasons
580 EXPECT !job-state-message
581 EXPECT !job-detailed-status-messages
582 EXPECT !number-of-documents
583 EXPECT !output-device-assigned
584 EXPECT !time-at-creation
585 EXPECT !time-at-processing
586 EXPECT !time-at-completed
587 EXPECT !job-printer-up-time
588 EXPECT !date-time-at-creation
589 EXPECT !date-time-at-processing
590 EXPECT !date-time-at-completed
591 EXPECT !number-of-intervening-jobs
592 EXPECT !job-message-from-operator
593 EXPECT !job-k-octets
594 EXPECT !job-impressions
595 EXPECT !job-media-sheets
596 EXPECT !job-k-octets-processed
597 EXPECT !job-impressions-completed
598 EXPECT !job-media-sheets-completed
599
600 EXPECT !copies
601 EXPECT !finishings
602 EXPECT !job-hold-until
603 EXPECT !job-priority
604 EXPECT !job-sheets
605 EXPECT !media
606 EXPECT !multiple-document-handling
607 EXPECT !number-up
608 EXPECT !orientation-requested
609 EXPECT !pages-ranges
610 EXPECT !print-quality
611 EXPECT !printer-resolution
612 EXPECT !sides
613}
614
615
616# Test Cancel-Job operation
617#
618# Required by: RFC 2911 section 3.3.3
619{
620 NAME "3.3.3: Cancel-Job Operation (completed job)"
621 OPERATION Cancel-Job
622 GROUP operation-attributes-tag
623 ATTR charset attributes-charset utf-8
624 ATTR naturalLanguage attributes-natural-language en
625 ATTR uri printer-uri $uri
626 ATTR integer job-id $job-id
627 ATTR name requesting-user-name $user
628
629 STATUS client-error-not-possible
630}
631
632
633# Test Print-Job operation
634#
635# Required by: RFC 2911 section 3.2.1
636{
637 NAME "3.2.1: Print-Job Operation"
638 OPERATION Print-Job
639 GROUP operation-attributes-tag
640 ATTR charset attributes-charset utf-8
641 ATTR naturalLanguage attributes-natural-language en
642 ATTR uri printer-uri $uri
643 ATTR name requesting-user-name $user
644 ATTR name job-name $filename
645 ATTR boolean ipp-attribute-fidelity false
646 ATTR name document-name $filename
647 ATTR keyword compression none
648 ATTR mimeMediaType document-format application/octet-stream
649 FILE $filename
650
651 STATUS successful-ok
652 STATUS client-error-document-format-not-supported
653 EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag
654 EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
655 WITH-VALUE >0
656 EXPECT job-state OF-TYPE enum COUNT 1 IN-GROUP job-attributes-tag
657 WITH-VALUE 3,4,5,6,7,8,9
658 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
659 EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
660 EXPECT ?number-of-intervening-jobs OF-TYPE integer
661 IN-GROUP job-attributes-tag WITH-VALUE >-1
662}
663
664
665# Test Cancel-Job operation
666#
667# Required by: RFC 2911 section 3.3.3
668{
669 NAME "3.3.3: Cancel-Job Operation (pending/processing job)"
670 OPERATION Cancel-Job
671 GROUP operation-attributes-tag
672 ATTR charset attributes-charset utf-8
673 ATTR naturalLanguage attributes-natural-language en
674 ATTR uri printer-uri $uri
675 ATTR integer job-id $job-id
676 ATTR name requesting-user-name $user
677
678 STATUS successful-ok
679}
680
681
682# Test Get-Job-Attributes operation
683#
684# Required by: RFC 2911 section 3.3.4
685{
686 NAME "3.3.4: Get-Job-Attributes Operation"
687 OPERATION Get-Job-Attributes
688 GROUP operation-attributes-tag
689 ATTR charset attributes-charset utf-8
690 ATTR naturalLanguage attributes-natural-language en
691 ATTR uri printer-uri $uri
692 ATTR integer job-id $job-id
693 ATTR name requesting-user-name $user
694
695 STATUS successful-ok
696 EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
697 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
698 EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
699 EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1
700 EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
701 EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
702 EXPECT job-state OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
703 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
704 EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
705 EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag
706 EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
707 EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
708 EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1
709 EXPECT time-at-processing OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1
710 EXPECT time-at-completed OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1
711 EXPECT job-printer-up-time OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1
712 EXPECT ?date-time-at-creation OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1
713 EXPECT ?date-time-at-processing OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1
714 EXPECT ?date-time-at-completed OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1
715 EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
716 EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
717 EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
718 EXPECT ?job-impressions OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
719 EXPECT ?job-media-sheets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
720 EXPECT ?job-k-octets-processed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
721 EXPECT ?job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
722 EXPECT ?job-media-sheets-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
723
724 EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
725 EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
726 EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
727 EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101
728 EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag
729 EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
730 EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
731 EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
732 EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
733 EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag
734 EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5
735 EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1
736 EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
737}
738
739
740#
741# End of "$Id$".
742#