Giter Club home page Giter Club logo

Comments (7)

lrbom avatar lrbom commented on June 11, 2024

The script uses GCP's /jobs API for querying the existence of a job.
Furthermore, the script queries the API with the following parameters: printer id and job title, to filter down results.

Please use the simulation page's "Job List API" to see that your job is indeed listed. If not, please provide both console output to help debugging.

Thanks,
Kevin

from cloudprint_logocert.

jiape avatar jiape commented on June 11, 2024

Hi Kevin,

Thanks for your feedback.

Here is the logs on simulation pages:
{
"success": true,
"request": {
"time": "0",
"params": {
"owner": [
""
],
"q": [
""
],
"offset": [
""
],
"limit": [
""
],
"printerid": [
"00f57d55-de54-3294-d75c-592da0d4a522"
],
"sortorder": [
""
],
"status": [
""
]
},
"user": "[email protected]",
"users": [
"[email protected]"
]
},
"xsrf_token": "AIp06DhPa6jv_RaRgvOb05MvDj3IX1Bsrg:1505700940407",
"jobs": [
],
"range": {
"jobsTotal": "0",
"jobsCount": 0
}
}

Here is the console output while running scripts:
test_19_LocalPrintUpdateGcpServer (main.LocalPrinting)

======================================================================
Verify printer successfully updates GCP servers for local print.
...
Wait for idle state before starting a local print job
[Configurable timeout] PRINTER_STATUS:
Waiting up to 180 seconds for the printer to have status: idle
Device state observed to be: idle
Attempt to get a local job id for up to 30 seconds
Got a job id

Waiting up to 60 seconds for the local print job to be reported to GCP servers

LogoCert INFO: Test ID: 48d084f7-13fa-4a69-aa29-268e998f343c
LogoCert INFO: Result: Failed
LogoCert INFO: Name: LocalPrint.PrintJobStatusMgtPage
LogoCert INFO: Notes: Local Print job not found using GCP /jobs api.
FAIL

======================================================================
FAIL: test_19_LocalPrintUpdateGcpServer (main.LocalPrinting)

======================================================================
Verify printer successfully updates GCP servers for local print.


Traceback (most recent call last):
File "./testcert.py", line 3049, in test_19_LocalPrintUpdateGcpServer
self.assertTrue(job_exists)
AssertionError: False is not true


Ran 1 test in 98.482s

FAILED (failures=1)

Thanks,
Andy

from cloudprint_logocert.

JimReis avatar JimReis commented on June 11, 2024

Kevin,

Any update?

Jim

from cloudprint_logocert.

lrbom avatar lrbom commented on June 11, 2024

Hi Jim and Andy,

From looking at the output from the simulation page, it does not show any jobs. This is strange because Andy mentioned that https://www.google.com/cloudprint/#jobs shows the local print job correctly.

I suspect that local jobs are not being properly reported to the GCP server. If they are, you should be able to see the jobs in both:

  1. https://www.google.com/cloudprint/#jobs
  2. Simulation page

Thoughts?

Thanks,
Kevin

from cloudprint_logocert.

jiape avatar jiape commented on June 11, 2024

Hi Kevin,

It looks like that the scripts will send non local print job to us before this test, so we saw it on the GCP management page, i just tried to only run this test case, there is no print job shows on the GCP management pages, sorry for the confusion.

Here are some descriptions on the Cloud Print developer website.
https://developers.google.com/cloud-print/docs/privet#53-privetprinterjobstate-api

  1. Indicates if local printing functionality (/printer/createjob, /printer/submitdoc, /printer/jobstate) should be exposed on the local network. By default should be "true".
  2. Advanced printing - client should first create a print job on the printer by calling the /privet/printer/createjob API with a valid CJT job ticket in the request. The printer MUST store the print ticket in memory and return a job_id back to the client. Then the client will call the /printer/submitdoc API and specify the previously received job_id. At that time the printer will start printing. The client will poll the printer for print job status by calling the /privet/printer/jobstate API.

Here are some descriptions in spec "Google Cloud Print 2.0 Logo Certification Specification"

  1. Interaction with other devices that support Privet is possible. For example, Google Chrome enables interaction with devices that broadcast their availability with Privet, beginning with version 31 of Chrome. In version 33, Chrome also supports offline interactions such as local printing.
Test 8.2.7.1 Advanced Local Print Test
Prerequisites Printer is registered.
Test Steps Validation
  1. Client sends POST request over local network to /createjob API with a valid CJT job ticket. | Printer must store the print ticket and return job_id.
  2. Client calls /submitdoc with job_id | Printer should print document.
    3. Client polls /privet/printer/jobstate | Printer should return job state.

so is there any spec that required that local print job should be reported to GCP server? please let me know if i have any misunderstanding on these specs.

Thanks,
Andy

from cloudprint_logocert.

lrbom avatar lrbom commented on June 11, 2024

Hi Andy,

No problem, thanks for the clarification.

The specifications you provided are valid; moreover, there is an additional requirement that is likely to be missed. Please see the following specifications: https://developers.google.com/cloud-print/docs/privet#52-privetprintersubmitdoc-api

Notably the blue text area:
image

Printers are now required to update GCP servers even for local jobs. Please take a look and see if your team can implement this feature.

Thanks,
Kevin

from cloudprint_logocert.

jiape avatar jiape commented on June 11, 2024

Hi Kevin,

Thanks for your information, we will have firmware change to pass the test.

Andy

from cloudprint_logocert.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.