diff options
Diffstat (limited to 'test/ipp-1.1.test')
-rw-r--r-- | test/ipp-1.1.test | 1697 |
1 files changed, 1632 insertions, 65 deletions
diff --git a/test/ipp-1.1.test b/test/ipp-1.1.test index 3eeab4d3..c9444a41 100644 --- a/test/ipp-1.1.test +++ b/test/ipp-1.1.test @@ -1,5 +1,5 @@ # -# "$Id: ipp-1.1.test 9830 2011-06-14 21:11:17Z mike $" +# "$Id: ipp-1.1.test 10058 2011-10-05 15:03:34Z mike $" # # IPP/1.1 test suite. # @@ -14,18 +14,22 @@ # # Usage: # -# ./ipptool -f filename -t printer-uri ipp-1.1.test +# ./ipptool -f filename [-d document-uri=SOMEURI] -t printer-uri ipp-1.1.test # -# Regular expression for IPP URI schemes -# Matches strings beginning with ipp:// or ipps:// +# Regular expressions for URI schemes: +# +# HTTP_URI_SCHEME - Matches strings beginning with http:// or https:// +# IPP_URI_SCHEME - Matches strings beginning with ipp:// or ipps:// + +DEFINE HTTP_URI_SCHEME "/^https?://.+$$/" DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # Test that a request-id value of 0 is not accepted. # # Required by: RFC 2911 section 3.1.1 { - NAME "3.1.1: Bad request-id value 0" + NAME "RFC 2911 section 3.1.1: Bad request-id value 0" REQUEST-ID 0 OPERATION Get-Printer-Attributes GROUP operation-attributes-tag @@ -43,7 +47,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.1.4 { - NAME "3.1.4: No Operation Attributes" + NAME "RFC 2911 section 3.1.4: No Operation Attributes" REQUEST-ID random OPERATION Get-Printer-Attributes GROUP operation-attributes-tag @@ -52,7 +56,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" EXPECT !printer-uri-supported } { - NAME "3.1.4: attributes-charset" + NAME "RFC 2911 section 3.1.4: attributes-charset" OPERATION Get-Printer-Attributes GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -62,7 +66,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" EXPECT !printer-uri-supported } { - NAME "3.1.4: attributes-natural-language" + NAME "RFC 2911 section 3.1.4: attributes-natural-language" OPERATION Get-Printer-Attributes GROUP operation-attributes-tag ATTR naturalLanguage attributes-natural-language en @@ -72,7 +76,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" EXPECT !printer-uri-supported } { - NAME "3.1.4: attributes-natural-language + attributes-charset" + NAME "RFC 2911 section 3.1.4: attributes-natural-language + attributes-charset" OPERATION Get-Printer-Attributes GROUP operation-attributes-tag ATTR naturalLanguage attributes-natural-language en @@ -83,7 +87,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" EXPECT !printer-uri-supported } { - NAME "3.1.4: attributes-charset + attributes-natural-language" + NAME "RFC 2911 section 3.1.4: attributes-charset + attributes-natural-language" OPERATION Get-Printer-Attributes GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -100,7 +104,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # Required by: RFC 2911 section 3.1.8 { # The name of the test... - NAME "3.1.8: Unsupported IPP version 0.0" + NAME "RFC 2911 section 3.1.8: Unsupported IPP version 0.0" VERSION 0.0 OPERATION Get-Printer-Attributes GROUP operation-attributes-tag @@ -117,7 +121,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.2 { - NAME "3.2: No printer-uri operation attribute" + NAME "RFC 2911 section 3.2: No printer-uri operation attribute" OPERATION Get-Printer-Attributes GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -132,7 +136,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.2.1 { - NAME "3.2.1: Print-Job Operation" + NAME "RFC 2911 section 3.2.1: Print-Job Operation" OPERATION Print-Job GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -143,37 +147,99 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" ATTR boolean ipp-attribute-fidelity false ATTR name document-name $filename ATTR keyword compression none - ATTR mimeMediaType document-format application/octet-stream + ATTR mimeMediaType document-format $filetype FILE $filename STATUS successful-ok STATUS client-error-document-format-not-supported + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 - EXPECT job-state OF-TYPE enum COUNT 1 IN-GROUP job-attributes-tag + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state WITH-VALUE 7,8,9 DEFINE-MATCH PRINT_JOB_COMPLETED EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag WITH-VALUE >-1 } +# Test Validate-Job operation +# +# Required by: RFC 2911 section 3.2.3 +{ + NAME "RFC 2911 section 3.2.3: Validate-Job Operation" + OPERATION Validate-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + + STATUS successful-ok +} + + # Test Get-Printer-Attributes operation # # Required by: RFC 2911 section 3.2.5 { - NAME "3.2.5: Get-Printer-Attributes Operation (default)" + NAME "RFC 2911 section 3.2.5: Get-Printer-Attributes Operation (default)" OPERATION Get-Printer-Attributes GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 ATTR naturalLanguage attributes-natural-language en ATTR uri printer-uri $uri ATTR name requesting-user-name $user - ATTR mimeMediaType document-format application/octet-stream + ATTR mimeMediaType document-format $filetype STATUS successful-ok + # Display some useful information to identify the test + DISPLAY color-supported + DISPLAY compression-supported + DISPLAY document-format-supported + DISPLAY finishings-supported + DISPLAY ipp-versions-supported + DISPLAY job-sheets-supported + DISPLAY media-supported + DISPLAY number-up-supported + DISPLAY operations-supported + DISPLAY pages-per-minute + DISPLAY pages-per-minute-color + DISPLAY print-quality-supported + DISPLAY printer-uri-supported + DISPLAY reference-uri-schemes-supported + DISPLAY sizes-supported + DISPLAY uri-authentication-supported + DISPLAY uri-security-supported + + # Operations + EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job + EXPECT operations-supported WITH-VALUE 0x0003 DEFINE-MATCH OPTIONAL_PRINT_URI # Print-URI + EXPECT operations-supported WITH-VALUE 0x0004 # Validate-Job + EXPECT operations-supported WITH-VALUE 0x0005 DEFINE-MATCH OPTIONAL_CREATE_JOB # Create-Job + EXPECT operations-supported WITH-VALUE 0x0006 DEFINE-MATCH OPTIONAL_SEND_DOCUMENT # Send-Document + EXPECT operations-supported WITH-VALUE 0x0007 DEFINE-MATCH OPTIONAL_SEND_URI # Send-URI + EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job + EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes + EXPECT operations-supported WITH-VALUE 0x000a # Get-Jobs + EXPECT operations-supported WITH-VALUE 0x000b # Get-Printer-Attributes + EXPECT operations-supported WITH-VALUE 0x000c DEFINE-MATCH OPTIONAL_HOLD_JOB # Hold-Job + EXPECT operations-supported WITH-VALUE 0x000d DEFINE-MATCH OPTIONAL_RELEASE_JOB # Release-Job + EXPECT operations-supported WITH-VALUE 0x000e DEFINE-MATCH OPTIONAL_RESTART_JOB # Restart-Job + EXPECT operations-supported WITH-VALUE 0x0010 DEFINE-MATCH OPTIONAL_PAUSE_PRINTER # Pause-Printer + EXPECT operations-supported WITH-VALUE 0x0011 DEFINE-MATCH OPTIONAL_RESUME_PRINTER # Resume-Printer + EXPECT operations-supported WITH-VALUE 0x0012 DEFINE-MATCH OPTIONAL_PURGE_JOBS # Purge-Jobs + # Job template attributes EXPECT ?copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 EXPECT ?copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag @@ -181,11 +247,13 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" EXPECT ?finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3 EXPECT ?job-hold-until-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1 EXPECT ?job-hold-until-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE no-hold + EXPECT job-hold-until-default IF-DEFINED OPTIONAL_HOLD_JOB + EXPECT job-hold-until-supported IF-DEFINED OPTIONAL_HOLD_JOB EXPECT ?job-priority-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101 EXPECT ?job-priority-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101 EXPECT ?job-sheets-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag EXPECT ?job-sheets-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE none - EXPECT ?media-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag EXPECT ?media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag 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)$$/" @@ -193,7 +261,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" EXPECT ?number-up-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0 EXPECT ?number-up-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0 EXPECT ?number-up-supported WITH-VALUE 1 - EXPECT ?orientation-requested-default OF-TYPE enum,no-value IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE no-value,3,4,5,6 + EXPECT ?orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 EXPECT ?orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6 EXPECT ?pages-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag EXPECT ?print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5 @@ -203,6 +271,26 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" 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)$$/" EXPECT ?sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" + # Job template attributes for specific tests... + EXPECT copies-supported WITH-VALUE >1 DEFINE-MATCH OPTIONAL_COPIES + EXPECT document-format-supported WITH-VALUE "application/pdf" DEFINE-MATCH OPTIONAL_PDF + EXPECT document-format-supported WITH-VALUE "application/postscript" DEFINE-MATCH OPTIONAL_POSTSCRIPT + EXPECT document-format-supported WITH-VALUE "image/jpeg" DEFINE-MATCH OPTIONAL_JPEG + EXPECT job-sheets-supported WITH-VALUE "standard" DEFINE-MATCH OPTIONAL_STANDARD_SHEET + EXPECT media-supported WITH-VALUE "a4" DEFINE-VALUE OPTIONAL_A4_MEDIA + EXPECT media-supported WITH-VALUE "iso-a4" DEFINE-VALUE OPTIONAL_A4_MEDIA + EXPECT media-supported WITH-VALUE "iso_a4_210x297mm" DEFINE-VALUE OPTIONAL_A4_MEDIA + EXPECT media-supported WITH-VALUE "letter" DEFINE-VALUE OPTIONAL_LETTER_MEDIA + EXPECT media-supported WITH-VALUE "na-letter" DEFINE-VALUE OPTIONAL_LETTER_MEDIA + EXPECT media-supported WITH-VALUE "na_letter_8.5x11in" DEFINE-VALUE OPTIONAL_LETTER_MEDIA + EXPECT media-supported WITH-VALUE "index-4x6" DEFINE-VALUE OPTIONAL_4X6_MEDIA + EXPECT media-supported WITH-VALUE "na_index-4x6_4x6in" DEFINE-VALUE OPTIONAL_4X6_MEDIA + EXPECT number-up-supported WITH-VALUE 2 DEFINE-MATCH OPTIONAL_2UP + EXPECT print-quality WITH-VALUE 3 DEFINE-MATCH OPTIONAL_DRAFT_QUALITY + EXPECT print-quality WITH-VALUE 4 DEFINE-MATCH OPTIONAL_NORMAL_QUALITY + EXPECT print-quality WITH-VALUE 5 DEFINE-MATCH OPTIONAL_BEST_QUALITY + EXPECT sides-supported WITH-VALUE "two-sided-long-edge" DEFINE-MATCH OPTIONAL_DUPLEX + # Printer description attributes EXPECT ?color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 EXPECT ?job-impressions-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1 @@ -217,10 +305,12 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" EXPECT ?printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" EXPECT ?printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" EXPECT ?printer-message-from-operator OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/" - EXPECT ?printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 - EXPECT ?printer-more-info-manufacturer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 + EXPECT ?printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" + EXPECT ?printer-more-info-manufacturer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" EXPECT ?printer-state-message OF-TYPE text IN-GROUP printer-attributes-tag EXPECT ?reference-uri-schemes-supported OF-TYPE uriScheme IN-GROUP printer-attributes-tag + EXPECT reference-uri-schemes-supported WITH-VALUE "ftp" IF-DEFINED OPTIONAL_PRINT_URI + EXPECT reference-uri-schemes-supported WITH-VALUE "ftp" IF-DEFINED OPTIONAL_SEND_URI IF-NOT-DEFINED OPTIONAL_PRINT_URI EXPECT charset-configured OF-TYPE charset IN-GROUP printer-attributes-tag COUNT 1 EXPECT charset-supported OF-TYPE charset IN-GROUP printer-attributes-tag WITH-VALUE utf-8 EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE none @@ -229,12 +319,6 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" EXPECT generated-natural-language-supported OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag EXPECT ipp-versions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE 1.1 EXPECT natural-language-configured OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag COUNT 1 - EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job - EXPECT operations-supported WITH-VALUE 0x0004 # Validate-Job - EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job - EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes - EXPECT operations-supported WITH-VALUE 0x000a # Get-Jobs - EXPECT operations-supported WITH-VALUE 0x000b # Get-Printer-Attributes EXPECT pdl-override-supported OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 EXPECT printer-is-accepting-jobs OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 EXPECT printer-name OF-TYPE name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{1,127}$$/" @@ -252,14 +336,14 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.2.5 { - NAME "3.2.5: Get-Printer-Attributes Operation (requested-attributes)" + NAME "RFC 2911 section 3.2.5: Get-Printer-Attributes Operation (requested-attributes)" OPERATION Get-Printer-Attributes GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 ATTR naturalLanguage attributes-natural-language en ATTR uri printer-uri $uri ATTR name requesting-user-name $user - ATTR mimeMediaType document-format application/octet-stream + ATTR mimeMediaType document-format $filetype ATTR keyword requested-attributes printer-uri-supported STATUS successful-ok @@ -273,7 +357,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.2.6 { - NAME "3.2.6: Get-Jobs Operation (default)" + NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (default)" OPERATION Get-Jobs GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -282,8 +366,8 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" ATTR name requesting-user-name $user STATUS successful-ok - EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 - EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" EXPECT !job-printer-uri EXPECT !job-more-info EXPECT !job-name @@ -330,7 +414,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.2.6 { - NAME "3.2.6: Get-Jobs Operation (requested-attributes)" + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + + NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (requested-attributes)" OPERATION Get-Jobs GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -342,23 +428,23 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" STATUS successful-ok EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 + EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT job-state OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 + EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1 - EXPECT time-at-processing OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1 - EXPECT time-at-completed OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1 - EXPECT job-printer-up-time OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-creation OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-processing OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-completed OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 @@ -388,7 +474,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.2.6 { - NAME "3.2.6: Get-Jobs Operation (my-jobs)" + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + + NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (my-jobs)" OPERATION Get-Jobs GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -446,11 +534,13 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.2.6 { + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + # Skip this test when doing authenticated printing since we'll always # use the authenticated username over the requesting-user-name value. SKIP-IF-DEFINED uriuser - NAME "3.2.6: Get-Jobs Operation (my-jobs different user)" + NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (my-jobs different user)" OPERATION Get-Jobs GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -508,7 +598,9 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.2.6 { - NAME "3.2.6: Get-Jobs Operation (which-jobs=not-completed)" + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + + NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (which-jobs=not-completed)" OPERATION Get-Jobs GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -562,12 +654,29 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" } +# Wait for job to complete... +{ + SKIP-IF-NOT-DEFINED job-id + + NAME "Get-Job-Attributes Until Job Complete" + OPERATION Get-Job-Attributes + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + + STATUS successful-ok + EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6,<10 REPEAT-NO-MATCH +} + # Test Get-Jobs operation # # Required by: RFC 2911 section 3.2.6 { - NAME "3.2.6: Get-Jobs Operation (which-jobs=completed)" + NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (which-jobs=completed)" OPERATION Get-Jobs GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -575,7 +684,6 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" ATTR uri printer-uri $uri ATTR name requesting-user-name $user ATTR keyword which-jobs completed - DELAY 20 STATUS successful-ok EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 @@ -622,11 +730,72 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" } +# Test Get-Jobs operation +# +# Required by: RFC 2911 section 3.2.6 +{ + SKIP-IF-DEFINED PRINT_JOB_COMPLETED + + NAME "RFC 2911 section 3.2.6: Get-Jobs Operation (which-jobs, requested-attributes)" + OPERATION Get-Jobs + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR keyword requested-attributes all + ATTR keyword which-jobs completed + + STATUS successful-ok + EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" + EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 + EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-impressions OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-media-sheets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-k-octets-processed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-impressions-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-media-sheets-completed OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 + + EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag + EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101 + EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag + EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1 + 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)$$/" + EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 + EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6 + EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag + EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5 + EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/" +} + + # Test Cancel-Job operation # # Required by: RFC 2911 section 3.3.3 { - NAME "3.3.3: Cancel-Job Operation (completed job)" + NAME "RFC 2911 section 3.3.3: Cancel-Job Operation (completed job)" OPERATION Cancel-Job GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -643,7 +812,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.2.1 { - NAME "3.2.1: Print-Job Operation" + NAME "RFC 2911 section 3.2.1: Print-Job Operation" OPERATION Print-Job GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -654,15 +823,18 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" ATTR boolean ipp-attribute-fidelity false ATTR name document-name $filename ATTR keyword compression none - ATTR mimeMediaType document-format application/octet-stream + ATTR mimeMediaType document-format $filetype FILE $filename STATUS successful-ok STATUS client-error-document-format-not-supported + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE >0 - EXPECT job-state OF-TYPE enum COUNT 1 IN-GROUP job-attributes-tag + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE 3,4,5,6,7,8,9 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag @@ -675,7 +847,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.3.3 { - NAME "3.3.3: Cancel-Job Operation (pending/processing job)" + NAME "RFC 2911 section 3.3.3: Cancel-Job Operation (pending/processing job)" OPERATION Cancel-Job GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -693,7 +865,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" # # Required by: RFC 2911 section 3.3.4 { - NAME "3.3.4: Get-Job-Attributes Operation" + NAME "RFC 2911 section 3.3.4: Get-Job-Attributes Operation" OPERATION Get-Job-Attributes GROUP operation-attributes-tag ATTR charset attributes-charset utf-8 @@ -705,23 +877,23 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" STATUS successful-ok EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0 EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" - EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 + EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME" + EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME" EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT job-state OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 + EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10 EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1 - EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1 - EXPECT time-at-processing OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1 - EXPECT time-at-completed OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE no-value,>-1 - EXPECT job-printer-up-time OF-TYPE no-value,integer IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-creation OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-processing OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1 - EXPECT ?date-time-at-completed OF-TYPE no-value,dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1 + EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 + EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1 EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1 EXPECT ?job-k-octets OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 @@ -747,6 +919,1401 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/" } +# Test Print-URI operation +# +# Defined by: RFC 2911 section 3.2.2 +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI + SKIP-IF-NOT-DEFINED document-uri + + NAME "RFC 2911 section 3.2.2: Print-URI Operation" + OPERATION Print-URI + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR uri document-uri $document-uri + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + + +# Test Print-URI operation with bad document-uri +# +# Defined by: RFC 2911 section 3.2.2 +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI + SKIP-IF-NOT-DEFINED document-uri + + NAME "Print-URI with bad URI: Print-URI Operation" + OPERATION Print-URI + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR uri document-uri "bogus://bogus" + + STATUS client-error-uri-scheme-not-supported + + EXPECT !job-uri + EXPECT !job-id + EXPECT !job-state + EXPECT !job-state-reasons + EXPECT !job-state-message +} + + +# Test Create-Job and Send-Document operations +# +# Defined by: RFC 2911 section 3.2.4 and 3.3.1 +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + + NAME "RFC 2911 section 3.2.4: Create-Job Operation" + OPERATION Create-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + + STATUS successful-ok + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + SKIP-PREVIOUS-ERROR yes + + NAME "RFC 2911 section 3.3.1: Send-Document Operation" + OPERATION Send-Document + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + ATTR boolean last-document true + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + FILE $filename + + STATUS successful-ok + STATUS client-error-document-format-not-supported + STATUS server-error-job-canceled +} + +# Test Create-Job and Send-Document operations (no last-document) +# +# Defined by: RFC 2911 section 3.2.4 and 3.3.1 +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + + NAME "Send-Document missing last-document: Create-Job Operation" + OPERATION Create-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + + STATUS successful-ok + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + SKIP-PREVIOUS-ERROR yes + + NAME "Send-Document missing last-document: Send-Document Operation" + OPERATION Send-Document + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + FILE $filename + + STATUS client-error-bad-request +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT + SKIP-PREVIOUS-ERROR yes + + NAME "RFC 2911 section 3.3.3: Cancel-Job Operation" + OPERATION Cancel-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + + STATUS successful-ok + STATUS server-error-job-canceled +} + +# Test Create-Job and Send-URI operations +# +# Defined by: RFC 2911 section 3.2.4 and 3.3.2 +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + SKIP-IF-NOT-DEFINED document-uri + + NAME "RFC 2911 section 3.2.4: Create-Job Operation" + OPERATION Create-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + + STATUS successful-ok + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + SKIP-IF-NOT-DEFINED document-uri + SKIP-PREVIOUS-ERROR yes + + NAME "RFC 2911 section 3.3.2: Send-URI Operation" + OPERATION Send-URI + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + ATTR boolean last-document true + ATTR name document-name $filename + ATTR keyword compression none + ATTR uri document-uri $document-uri + + STATUS successful-ok + STATUS server-error-job-canceled +} + + +# Test Create-Job and Send-URI operations (bad URI) +# +# Defined by: RFC 2911 section 3.2.4 and 3.3.2 +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + + NAME "Send-URI with bad URI: Create-Job Operation" + OPERATION Create-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + + STATUS successful-ok + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + SKIP-IF-NOT-DEFINED document-uri + SKIP-PREVIOUS-ERROR yes + + NAME "Send-URI with bad URI: Send-URI Operation (bad URI)" + OPERATION Send-URI + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + ATTR boolean last-document true + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + ATTR uri document-uri "bogus://bogus" + + STATUS client-error-uri-scheme-not-supported +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB + SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI + SKIP-PREVIOUS-ERROR yes + + NAME "Send-URI with bad URI: Cancel-Job Operation" + OPERATION Cancel-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + + STATUS successful-ok + STATUS server-error-job-canceled +} + + +# Test multiple copy output +{ + SKIP-IF-NOT-DEFINED OPTIONAL_COPIES + + NAME "Print-Job with copies" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name $filename + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + GROUP job-attributes-tag + ATTR integer copies 2 + FILE $filename + + STATUS successful-ok + STATUS client-error-document-format-not-supported + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + + +# Test PDF output +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + + NAME "Print-Job with A4 PDF" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX + + NAME "Print-Job with A4 PDF, Duplex" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document, Duplex" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR keyword sides two-sided-long-edge + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + + NAME "Print-Job with US Letter PDF" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE document-letter.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX + + NAME "Print-Job with US Letter PDF, Duplex" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document, Duplex" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR keyword sides two-sided-long-edge + FILE document-letter.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + + +# Test PostScript output +{ + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + + NAME "Print-Job with A4 PostScript" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document, Duplex" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX + + NAME "Print-Job with A4 PostScript, Duplex" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR keyword sides two-sided-long-edge + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + + NAME "Print-Job with US Letter PostScript" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document, Duplex" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE document-letter.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX + + NAME "Print-Job with US Letter PostScript, Duplex" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR keyword sides two-sided-long-edge + FILE document-letter.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + + +# Test JPEG output +{ + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + + NAME "Print-Job with Color JPEG on A4" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Color JPEG on A4" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + FILE color.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + + NAME "Print-Job with Color JPEG on US Letter" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Color JPEG on US Letter" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE color.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + + NAME "Print-Job with Color JPEG on 4x6" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Color JPEG on 4x6" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + FILE color.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + + NAME "Print-Job with Grayscale JPEG on A4" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Grayscale JPEG on A4" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name gray.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + FILE gray.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + + NAME "Print-Job with Grayscale JPEG on US Letter" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Grayscale JPEG on US Letter" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name gray.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + FILE gray.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + + NAME "Print-Job with Grayscale JPEG on 4x6" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Grayscale JPEG on 4x6" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name gray.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + FILE gray.jpg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + + +# Print-Job with job-sheets +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET + + NAME "Print-Job with A4 PDF and Standard Sheet" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document w/Standard Sheet" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR keyword job-sheets standard + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET + + NAME "Print-Job with US Letter PDF and Standard Sheet" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document w/Standard Sheet" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR keyword job-sheets standard + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET + + NAME "Print-Job with A4 PDF and Standard Sheet" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document w/Standard Sheet" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR keyword job-sheets standard + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET + + NAME "Print-Job with US Letter PDF and Standard Sheet" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document w/Standard Sheet" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR keyword job-sheets standard + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + + +# Test number-up output +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_2UP + + NAME "Print-Job with A4 PDF, 2-Up" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document, 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR integer number-up 2 + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_2UP + + NAME "Print-Job with US Letter PDF, 2-Up" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document, 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR integer number-up 2 + FILE document-letter.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_2UP + + NAME "Print-Job with A4 PDF, 2-Up" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document, 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR integer number-up 2 + FILE document-a4.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_2UP + + NAME "Print-Job with US Letter PDF, 2-Up" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document, 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.ps + ATTR keyword compression none + ATTR mimeMediaType document-format application/postscript + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR integer number-up 2 + FILE document-letter.ps + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + + +# Test output with print-quality... +{ + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY + + NAME "Print-Job with JPEG on 4x6, Draft Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "4x6 Color JPEG, Draft Quality" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + ATTR enum print-quality 3 + FILE color.jpeg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_NORMAL_QUALITY + + NAME "Print-Job with JPEG on 4x6, Normal Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "4x6 Color JPEG, Normal Quality" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + ATTR enum print-quality 4 + FILE color.jpeg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_JPEG + SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_HIGH_QUALITY + + NAME "Print-Job with JPEG on 4x6, High Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "4x6 Color JPEG, High Quality" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name color.jpg + ATTR keyword compression none + ATTR mimeMediaType document-format image/jpeg + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_4X6_MEDIA + ATTR enum print-quality 5 + FILE color.jpeg + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY + + NAME "Print-Job with A4 PDF, Draft Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "A4 Test Document, 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-a4.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_A4_MEDIA + ATTR enum print-quality 3 + FILE document-a4.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_PDF + SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA + SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY + + NAME "Print-Job with US Letter PDF, Draft Quality" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "US Letter Test Document, 2-Up" + ATTR boolean ipp-attribute-fidelity false + ATTR name document-name document-letter.pdf + ATTR keyword compression none + ATTR mimeMediaType document-format application/pdf + GROUP job-attributes-tag + ATTR keyword media $OPTIONAL_LETTER_MEDIA + ATTR enum print-quality 3 + FILE document-letter.pdf + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + + +# Test hold/release in the context of Print-Job w/job-hold-until + Release-Job +{ + SKIP-IF-NOT-DEFINED OPTIONAL_HOLD_JOB + + NAME "Print-Job with job-hold-until" + OPERATION Print-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR name requesting-user-name $user + ATTR name job-name "Test Document w/Hold" + ATTR name document-name $filename + ATTR keyword compression none + ATTR mimeMediaType document-format $filetype + GROUP job-attributes-tag + ATTR keyword job-hold-until indefinite + FILE $filename + + STATUS successful-ok + STATUS server-error-job-canceled + STATUS server-error-busy REPEAT-MATCH + + EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME" + EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE >0 + EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag + WITH-VALUE 3,4,5,6,7,8,9 + EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag + EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag + EXPECT ?number-of-intervening-jobs OF-TYPE integer + IN-GROUP job-attributes-tag WITH-VALUE >-1 +} + +{ + SKIP-IF-NOT-DEFINED OPTIONAL_HOLD_JOB + + NAME "Release-Job" + OPERATION Release-Job + GROUP operation-attributes-tag + ATTR charset attributes-charset utf-8 + ATTR naturalLanguage attributes-natural-language en + ATTR uri printer-uri $uri + ATTR integer job-id $job-id + ATTR name requesting-user-name $user + + STATUS successful-ok + STATUS client-error-not-possible +} + + # -# End of "$Id: ipp-1.1.test 9830 2011-06-14 21:11:17Z mike $". +# End of "$Id: ipp-1.1.test 10058 2011-10-05 15:03:34Z mike $". # |