@ bo37.test - Test plan Section 3.7 Natural Language Override (NLO) Test @ Section 3.7.1 - Test elimination of the job-level NLO in Get-Jobs @ In the November 1998 "Model and Semantics" draft, we decided @ to simplify the June "Model and Semantics" draft by eliminating the so-called @ "job level" Natural Language Override (NLO), i.e., we eliminated returning an @ "attributes-natural-language" at the job level in the Get-Jobs Response as an @ override of the operation response. Test that the @ "natural-language-attributes" isn't returned in a Get-Jobs response as a Job @ attribute unless explicitly requested. This makes Get-Jobs the same as all @ other operations, in that there is only attribute level NLO that overrides the @ response natural language, using the 'textWithLanguage' or 'nameWithLanguage' @ attribute syntaxes. @ Version 1.3 @ Last revised by Xerox Corporation on 99-03-02. # Added NONSPOOLING conditional to submit one job at a time - TNH # Use symbolic status codes - TNH # Combined nlo3of4b.test and nlo4of4d.test into bo37.test - TNH # Copyright (c) 1998, 1999 by Xerox Corporation. All rights reserved. # User is granted the right to modify this file for use with # the IPP Server Test Tool, as described in the file # LICENSE-IppTest.txt. @ Submit the same jobs as in the 3.7.1 tests, but use separate @ Get-Job-Attributes for each job. Also request in different NLs. @ Get-Job-Attributes section 3.3.4.2 allows the "attribute-natural-language" @ operation attribute in the response be the NL of the job, the NL of the @ request, or the configured NL. @ Version 1.0 @ Last revised by Xerox Corporation on 9:00 98-11-04 # Copyright (c) 1998 by Xerox Corporation. All rights reserved. # User is granted the right to modify this file for use with # the IPP Server Test Tool, as described in the file # LICENSE-IppTest.txt. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Get-printer-attributes - find out configured natural langauge @ Just "requested-attributes"='natural-language-configured' @ ---------------------------------------------------------------- @ Get-Printer-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: en-us, \ printer-uri: $target, \ requested-attributes: \ ) \ ) Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ oa08 = attributes-charset: utf-8, \ oa09 = attributes-natural-language: *, \ ... \ ), \ Printer: ( \ pd08 = natural-language-configured: * \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Get-printer-attributes - request printer-name @ Request in configured natural language @ Get-Printer-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ printer-uri: $target, \ requested-attributes: \ ) \ ) @ attributes-NL operation attribute MUST be configured natural language @ printer-name can be either nameWithoutLanguage or nameWithLanguage Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ oa08 = attributes-charset: utf-8, \ oa09 = attributes-natural-language: $pd08, \ ... \ ), \ Printer: ( \ printer-name: * \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Get-printer-attributes - request printer-name. @ Request in a natural-language that can't be a supported one @ Get-Printer-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: foo, \ printer-uri: $target, \ requested-attributes: \ ) \ ) @ attributes-NL operation attribute MUST be configured natural language @ printer-name can be either nameWithoutLanguage or nameWithLanguage Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ oa08 = attributes-charset: utf-8, \ oa09 = attributes-natural-language: $pd08, \ ... \ ), \ Printer: ( \ printer-name: * \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ submit 3 jobs: 1 - configured natural language, 2 -fr, 3 - de. @ Submit fr at job level, de at attribute level: # Submit job in configured NL, "job-name" 'nameWithoutLanguage' IfDef NON-SPOOLING $prompt-to-accept-next-job-1 $prompt-to-accept-next-job-2 EndIf Print-Job \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ printer-uri: $target, \ job-name: dog-d-in-configured-lang \ ) \ ), \ data: $test-print-file # Save job-id for job-d1 so can test Get-Jobs Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ ... \ ), \ Job: ( \ job-d1 = job-id: *, \ ... \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Get-Job-Attributes: Request just "attributes-natural-language" @ First test to see if job level natural language stored as @ job's "attribute-natural-language" Job Description attribute. @ Do for each of the 3 jobs @ First job: submitted in the Printer's configured natural language Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ printer-uri: $target, \ job-id: $job-d1, \ requested-attributes: \ ) \ ) Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ ... \ ), \ Job: ( \ job-id: $job-d1, \ attributes-natural-language: $pd08 \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Now repeat the three Get-Job-Attributes for each of the 3 jobs @ requesting in attributes-natural-language = configured-lang @ and requested-attributes = job-name. @ @ First job: submitted in the Printer's configured natural language Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ printer-uri: $target, \ job-id: $job-d1, \ requested-attributes: \ ) \ ) @ Expect Get-Job-Attribute response to be one of: @ job-d1: attributes-NL op attr job-name @ --------------------- -------- @ configured-lang dog-d-in-configured-lang | @ Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ ... \ ), \ Job: ( \ job-id: $job-d1, \ job-name: dog-d-in-configured-lang \ | <$pd08, dog-d-in-configured-lang> \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Now repeat the three Get-Job-Attributes for each of the 3 jobs @ requesting in attributes-natural-language = french @ and requested-attributes = job-name. @ @ First job: submitted in the Printer's configured natural language Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: fr, \ printer-uri: $target, \ job-id: $job-d1, \ requested-attributes: \ ) \ ) @ Expect Get-Job-Attribute response to be one of: @ job-d1: attributes-NL op attr job-name @ --------------------- -------- @ fr @ configured-lang dog-d-in-configured-lang | @ @ NOTE: limitations of this script falsely accepts @ attributes-NL=fr AND job-name=dog-d-in-configured-lang Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: fr | $pd08, \ ... \ ), \ Job: ( \ job-id: $job-d1, \ job-name: dog-d-in-configured-lang \ | <$pd08, dog-d-in-configured-lang> \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Now repeat the three Get-Job-Attributes for each of the 3 jobs @ requesting in attributes-natural-language = german @ and requested-attributes = job-name. @ @ First job: submitted in the Printer's configured natural language Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: de, \ printer-uri: $target, \ job-id: $job-d1, \ requested-attributes: \ ) \ ) @ Expect Get-Job-Attribute response to be one of: @ job-d1: attributes-NL op attr job-name @ --------------------- -------- @ de @ configured-lang dog-d-in-configured-lang | @ @ NOTE: limitations of this script falsely accepts @ attributes-NL=fr AND job-name=dog-d-in-configured-lang Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: de | $pd08, \ ... \ ), \ Job: ( \ job-id: $job-d1, \ job-name: dog-d-in-configured-lang \ | <$pd08, dog-d-in-configured-lang> \ ) \ ) @@@ 2nd Job # Submit job in French, "job-name" 'nameWithoutLanguage' IfDef NON-SPOOLING $prompt-to-accept-next-job-1 $prompt-to-accept-next-job-2 EndIf Print-Job \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: fr, \ printer-uri: $target, \ job-name: dog-d-in-french \ ) \ ), \ data: $test-print-file # Save job-id for job-d2 so can test Get-Jobs Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: *, \ ... \ ), \ Job: ( \ job-d2 = job-id: *, \ ... \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Second job: submitted in French at the job level Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ printer-uri: $target, \ job-id: $job-d2, \ requested-attributes: \ ) \ ) Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ ... \ ), \ Job: ( \ job-id: $job-d2, \ attributes-natural-language: fr \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Second job: submitted in French at job level Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ printer-uri: $target, \ job-id: $job-d2, \ requested-attributes: \ ) \ ) @ Expect Get-Job-Attribute response to be one of: @ job-d2: attributes-NL op attr job-name @ --------------------- -------- @ configured-lang @ fr dog-d-in-french | @ @ NOTE: limitations of this script falsely accepts @ attributes-NL=configured-lang AND job-name=dog-d-in-french Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08 | fr, \ ... \ ), \ Job: ( \ job-id: $job-d2, \ job-name: dog-d-in-french | \ \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Second job: submitted in French at job level Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: fr, \ printer-uri: $target, \ job-id: $job-d2, \ requested-attributes: \ ) \ ) @ Expect Get-Job-Attribute response to be one of: @ job-d2: attributes-NL op attr job-name @ --------------------- -------- @ configured-lang @ fr dog-d-in-french | @ @ NOTE: limitations of this script falsely accepts @ attributes-NL=configured-lang AND job-name=dog-d-in-french Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08 | fr, \ ... \ ), \ Job: ( \ job-id: $job-d2, \ job-name: dog-d-in-french | \ \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Second job: submitted in French at job level Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: de, \ printer-uri: $target, \ job-id: $job-d2, \ requested-attributes: \ ) \ ) @ Expect Get-Job-Attribute response to be one of: @ job-d2: attributes-NL op attr job-name @ --------------------- -------- @ configured-lang @ de Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08 | de, \ ... \ ), \ Job: ( \ job-id: $job-d2, \ job-name: \ ) \ ) # Submit job in configured NL, "job-name" in German Override, # i.e., 'nameWithLanguage' as de IfDef NON-SPOOLING $prompt-to-accept-next-job-1 $prompt-to-accept-next-job-2 EndIf Print-Job \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ printer-uri: $target, \ job-name: \ ) \ ), \ data: $test-print-file # Save job-id for job-d3 so can test Get-Jobs Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ ... \ ), \ Job: ( \ job-d3 = job-id: *, \ ... \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Third job: submitted in the Printer's configured natural language @ but with explicit German natural language attribute override Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ printer-uri: $target, \ job-id: $job-d3, \ requested-attributes: \ ) \ ) Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ ... \ ), \ Job: ( \ job-id: $job-d3, \ attributes-natural-language: $pd08 \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Third job: submitted in the Printer's configured natural language @ but with explicit German natural language attribute override Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ printer-uri: $target, \ job-id: $job-d3, \ requested-attributes: \ ) \ ) @ Expect Get-Job-Attribute response to be one of: @ job-d3: attributes-NL op attr job-name @ --------------------- -------- @ configured-lang Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08, \ ... \ ), \ Job: ( \ job-id: $job-d3, \ job-name: \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Third job: submitted in the Printer's configured natural language @ but with explicit German natural language attribute override Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: fr, \ printer-uri: $target, \ job-id: $job-d3, \ requested-attributes: \ ) \ ) @ Expect Get-Job-Attribute response to be one of: @ job-d3: attributes-NL op attr job-name @ --------------------- -------- @ configured-lang @ fr Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08 | fr, \ ... \ ), \ Job: ( \ job-id: $job-d3, \ job-name: \ ) \ ) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Third job: submitted in the Printer's configured natural language @ but with explicit German natural language attribute override Get-Job-Attributes \ target: $target, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: de, \ printer-uri: $target, \ job-id: $job-d3, \ requested-attributes: \ ) \ ) @ Expect Get-Job-Attribute response to be one of: @ job-d3: attributes-NL op attr job-name @ --------------------- -------- @ de dog-d-in-german | @ @ configured-lang @ NOTE: limitations of this script falsely accepts @ attributes-NL=de AND job-name=dog-d-in-german Expect Response \ status-code: successful-ok, \ attributes: ( \ Operation: ( \ attributes-charset: utf-8, \ attributes-natural-language: $pd08 | de, \ ... \ ), \ Job: ( \ job-id: $job-d3, \ job-name: dog-d-in-german | \ \ ) \ )