Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed product test certification service URL #514

Merged
merged 6 commits into from
May 4, 2022

Conversation

c-ryan-k
Copy link
Member


This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Thank you for contributing to the IoT extension!

This checklist is used to make sure that common guidelines for a pull request are followed.

General Guidelines

Intent for Production

  • It is expected that pull requests made to default or core branches such as dev or main are of production grade. Corollary to this, any merged contributions to these branches may be deployed in a public release at any given time. By checking this box, you agree and commit to the expected production quality of code.

Basic expectations

  • If introducing new functionality or modified behavior, are they backed by unit and/or integration tests?
  • In the same context as above are command names and their parameter definitions accurate? Do help docs have sufficient content?
  • Have all the relevant unit and integration tests pass? i.e. pytest <project root> -vv. Please provide evidence in the form of a screenshot showing a succesful run of tests locally OR a link to a test pipeline that has been run against the change-set.
  • Have linter checks passed using the .pylintrc and .flake8 rules? Look at the CI scripts for example usage.
  • Have extraneous print or debug statements, commented out code-blocks or code-statements (if any) been removed from the surface area of changes?
  • Have you made an entry in HISTORY.rst which concisely explains your user-facing feature or change?

Azure IoT CLI maintainers reserve the right to enforce any of the outlined expectations.

A PR is considered ready for review when all basic expectations have been met (or do not apply).

@c-ryan-k
Copy link
Member Author

c-ryan-k commented Apr 29, 2022

Integration tests for the certification service are a bit out of date (and were not enabled / maintained due to inconsistencies between the test and production environments) - but an easy test for this fix is:

az iot product test search --product-id [any_product_id] will fail
az iot product test search --product-id [product_id] --base-url https://prod.certsvc.trafficmanager.net will succeed.

az iot product requirement list will fail
az iot product requirement list --base-url https://prod.certsvc.trafficmanager.net will succeed.

This is also the service request URL being used on https://certify.azure.com.

@c-ryan-k c-ryan-k requested review from digimaun, avagraw and vilit1 April 29, 2022 19:57
@vilit1
Copy link
Contributor

vilit1 commented Apr 29, 2022

Integration tests for the certification service are a bit out of date (and were not enabled / maintained due to inconsistencies between the test and production environments) - but an easy test for this fix is:

az iot product test search --product-id [any_product_id] will fail az iot product test search --product-id [product_id] --base-url https://prod.certsvc.trafficmanager.net will succeed.

az iot product requirement list will fail az iot product requirement list --base-url https://prod.certsvc.trafficmanager.net will succeed.

This is also the service request URL being used on https://certify.azure.com.

Screenshots :D?

@c-ryan-k
Copy link
Member Author

c-ryan-k commented Apr 29, 2022

image

Last test is failing because there's currently a stuck test for that specific product ID in the test environment - but I don't believe this indicates an error with these changes.

@digimaun
Copy link
Member

Integration tests for the certification service are a bit out of date (and were not enabled / maintained due to inconsistencies between the test and production environments) - but an easy test for this fix is:

az iot product test search --product-id [any_product_id] will fail az iot product test search --product-id [product_id] --base-url https://prod.certsvc.trafficmanager.net will succeed.

az iot product requirement list will fail az iot product requirement list --base-url https://prod.certsvc.trafficmanager.net will succeed.

This is also the service request URL being used on https://certify.azure.com.

The az iot product tests have been disabled for a very long time -- can we use a different product Id or test setup such that we can get the value of these tests (and have it integrated in CI)? Also we have this az iot product issue #486, wondering if there is a newer public API that can be used here.

@digimaun
Copy link
Member

Integration tests for the certification service are a bit out of date (and were not enabled / maintained due to inconsistencies between the test and production environments) - but an easy test for this fix is:
az iot product test search --product-id [any_product_id] will fail az iot product test search --product-id [product_id] --base-url https://prod.certsvc.trafficmanager.net will succeed.
az iot product requirement list will fail az iot product requirement list --base-url https://prod.certsvc.trafficmanager.net will succeed.
This is also the service request URL being used on https://certify.azure.com.

The az iot product tests have been disabled for a very long time -- can we use a different product Id or test setup such that we can get the value of these tests (and have it integrated in CI)? Also we have this az iot product issue #486, wondering if there is a newer public API that can be used here.

A datapoint is https://certify.azure.com/ appears to be using the same version as in the CLI 2020-05-01-preview
image

@c-ryan-k
Copy link
Member Author

c-ryan-k commented May 2, 2022

The az iot product tests have been disabled for a very long time -- can we use a different product Id or test setup such that we can get the value of these tests (and have it integrated in CI)?

We can - though I did just run them again (everything except the all-up e2e test) and it worked for this product ID - probably just a timing issue in the existing test (or the last test run I made). Pulling them into CI is something we can do - provided we still have the ability to pass through a build if these fail intermittently. I believe the e2e test is still flaky, but perhaps we can at least run these in CI:

image

Also we have this az iot product issue #486, wondering if there is a newer public API that can be used here.

Like you mentioned below, the public certification site is still using the same API-version so I'm not sure there's an updated one but I will try to find out in the meantime.

digimaun
digimaun previously approved these changes May 4, 2022
@digimaun digimaun dismissed their stale review May 4, 2022 00:30

Test topic.

@c-ryan-k c-ryan-k requested a review from digimaun May 4, 2022 00:49
Copy link
Member

@digimaun digimaun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with agreement to investigate windows agent issue.

@digimaun digimaun merged commit 8cd32fa into Azure:dev May 4, 2022
@c-ryan-k c-ryan-k deleted the product_cert_error branch February 22, 2023 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants