Skip to content

Use local webservers for flutter/packages integration tests #95420

Open

Description

@stuartmorgan-g

We have integration tests for at least webview_flutter and video_player that are currently hitting external URLs, which is random test failure waiting to happen (this has already been a problem at least once). In the long term we probably need to have the tests run their own local server for some use cases, but for most of them just having a static site We should use local web servers so that:

  • we can change in-repo,
  • we know won't suddenly change out from under us (e.g., removal of a video we are pointing at), and
  • won't have unexpected behaviors (like when a Google page we were pointing to started redirecting our tests to a "suspicious activity" page when run from CI)

would solve a lot of potential problems. We should be able to do that via GitHub pages running on flutter/plugins.

Activity

  1. added
    P1High-priority issues at the top of the work list
    c: contributor-productivityTeam-specific productivity, code health, technical debt.
    on Dec 16, 2021
  2. changed the title [-]Set up GitHub Pages on flutter/plugins for integration tests[/-] [+]Use local webservers for flutter/plugins integration tests[/+] on Jan 25, 2022
  3. stuartmorgan-g commented on Jan 25, 2022

    @stuartmorgan-g
    ContributorAuthor

    Retitling since Hixie demonstrated in flutter-team-archive/plugins#4691 that the local server approach is vastly easier than I expected.

  4. removed their assignment
    on Sep 13, 2022
  5. changed the title [-]Use local webservers for flutter/plugins integration tests[/-] [+]Use local webservers for flutter/packages integration tests[/+] on Mar 6, 2023
  6. added
    packageflutter/packages repository. See also p: labels.
    and removed on Mar 6, 2023
  7. flutter-triage-bot commented on Dec 7, 2023

    @flutter-triage-bot

    This issue is marked P1 but has had no recent status updates.

    The P1 label indicates high-priority issues that are at the top of the work list. This is the highest priority level a bug can have if it isn't affecting a top-tier customer or breaking the build. Bugs marked P1 are generally actively being worked on unless the assignee is dealing with a P0 bug (or another P1 bug). Issues at this level should be resolved in a matter of months and should have monthly updates on GitHub.

    Please consider where this bug really falls in our current priorities, and label it or assign it accordingly. This allows people to have a clearer picture of what work is actually planned. Thanks!

  8. stuartmorgan-g commented on Jan 22, 2024

    @stuartmorgan-g
    ContributorAuthor

    What's currently left here:

    • webview_flutter tests that try to load youtube.com while that's blocked by policy, and verify that it doesn't load. We should be able to change that to a local webserver URL, but when I tried that last I saw a weird issue where it seemed to be using the policy of the actual example app's controller (which blocks youtube.com) rather than the integration test. Ideally we should fix that, but it's relatively low priority given that it's not supposed to load anyway.
    • some video_player tests that are using github asset URLs. Serving the data content correctly was not straightforward when I tried. We should really fix that, since it introduces a network dependency, but it's at least not a URL that's going to change behavior out from under us.

    Downgrading to P2 to reflect the severity of what's left.

  9. added
    P2Important issues not at the top of the work list
    and removed
    P1High-priority issues at the top of the work list
    on Jan 22, 2024
  10. removed their assignment
    on Jan 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: contributor-productivityTeam-specific productivity, code health, technical debt.packageflutter/packages repository. See also p: labels.team-ecosystemOwned by Ecosystem teamtriaged-ecosystemTriaged by Ecosystem team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions