brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
17.89k stars 2.34k forks source link

Implement Brave VPN on Desktop #15804

Closed bsclifton closed 2 years ago

bsclifton commented 3 years ago

Test plan (and issues)

Test cases capture the issues that they fix in each section

Marked as release-notes/exclude since this is still behind a flag (defaulted to off); we'll need to change that behavior to make the feature customer facing.

Related resources

Steps to enable the VPN functionality (do on fresh profile before testing)

This is a pre-requisite step; this has to be done before any tests are attempted.

  1. Fresh profile (or not; depending on the test case)
  2. Set brave://flags/#skus-sdk to ENABLED
  3. Set brave://flags/#brave-vpn to ENABLED
  4. Set brave://flags/#skus-environment to DEVELOPMENT
  5. Close the browser and re-open it
  6. Verify VPN is enabled (look for VPN button next to hamburger menu)

VPN button and entry in hamburger menu

Verify the button is visible

  1. You should see a VPN button (next to hamburger button)
  2. You should also see a Brave VPN entry in hamburger menu

Context menu behavior

  1. If you right click VPN button you should get a context menu
  2. Choose Hide VPN button from toolbar from the context menu and verify the button is hidden
  3. Go into hamburger menu, pick Brave VPN, and choose Show VPN button in toolbar. Verify button shows again
  4. Go into hamburger menu, pick Brave VPN, and choose Hide VPN button in toolbar. Verify button is hidden
  5. Go into hamburger menu, pick Brave VPN, and choose Show VPN button in toolbar

Theming behavior

  1. Visit brave://settings/manageProfile
  2. Change your theme color to orange colors (like the Brave lion!)
  3. Verify Brave doesn't crash 😄
  4. Verify that the VPN button adjusts its colors accordingly
  5. Change your theme back to the default

Brave Premium login

Purchasing VPN with a new account

  1. Visit https://account.brave.software (Development) and sign into a new account
  2. Purchase VPN (browse plans, do checkout process; use a test credit card 4111 1111 1111 1111 / 12/24 for example - or see https://stripe.com/docs/testing?numbers-or-method-or-token=card-numbers#visa)
  3. Verify purchase works; you should be returned to account.brave.software
  4. VPN should show as purchased (you should NOT see Complete your purchase to begin using Brave VPN)
  5. Click the Refresh Brave VPN button and you should see green text saying YOU HAVE ACTIVE CREDENTIALS LOADED!
  6. Click VPN button (top right by hamburger) and you should see the on/off toggle and your default region

Login to an existing account which has VPN

  1. On a different profile than above (see Purchasing VPN with a new account), visit https://account.brave.software (Development) and sign into the same account
  2. VPN should show as purchased (you should NOT see Complete your purchase to begin using Brave VPN)
  3. Click the Refresh Brave VPN button and you should see green text saying YOU HAVE ACTIVE CREDENTIALS LOADED!
  4. Click VPN button (top right by hamburger) and you should see the on/off toggle and your default region
  5. It could be handy to copy this folder and keep it handy as a "fresh logged in profile" (in tests below)

OS integration

Toggle VPN in operating system (with Brave open)

  1. Have Brave open with VPN button visible
  2. Have a working connection (region doesn't matter). Verify you can connect/disconnect in Brave.
  3. Keep Brave open and go to your OS's VPN section.
    • On Windows, you can push Windows key and type VPN settings to get there
    • macOS shows under Settings > Networking
  4. Find the BraveVPN connection
  5. Manually connect to the VPN using the OS interface
  6. Verify that Brave's VPN button lights up Green when connected
  7. Verify that Brave's VPN button shows as gray when not connected

Toggle VPN in operating system (with Brave closed)

  1. Have Brave open with VPN button visible
  2. Have a working connection (region doesn't matter). Verify you can connect/disconnect in Brave.
  3. Close Brave
  4. Go to your OS's VPN section.
    • On Windows, you can push Windows key and type VPN settings to get there
    • macOS shows under Settings > Networking
  5. Find the BraveVPN connection
  6. Manually connect to the VPN using the OS interface
  7. In a different browser (Edge, Safari, Chrome) visit https://whatismyipaddress.com/
  8. Verify that you're in the appropriate region (where you connected manually in step 2)

Visible user interface

Notes before testing

Please refer to the Figma as you test: https://www.figma.com/file/qtMYwoj3JWJO5xzwLt6j2f/Desktop-VPN

This should be accurate and captures expected look and feel for both light and dark mode (we'll want to test both).

Purchase entry points

This would be on a fresh profile after enabling the VPN feature

  1. Click the VPN button (top right, next to hamburger button)
  2. Panel will show up and have the sales information (Buy / Already purchased?).
  3. Interact (verify links go to the right place, etc)
  4. Click the VPN button again to hide the panel
  5. Click Brave VPN in the hamburger menu
  6. Verify the sale panel shows up

Post-purchase UX

Default region selection

  1. Complete the steps under Brave Premium login > Login to an existing account which has VPN
  2. Click the VPN button (top right, next to hamburger button)
  3. You should see a default region picked which is nearest to your location (based on time zone)
  4. Set your OS time to be in another region (like Japan)
  5. Create another fresh profile and get setup with VPN
  6. Click VPN button
  7. Verify it shows region close to where you picked (ex: Japan)

Verify connecting works and connected/unconnected state shows properly

  1. Complete the steps under Brave Premium login > Login to an existing account which has VPN
  2. Click the VPN button (top right, next to hamburger button)
  3. Enable VPN
  4. Verify that Brave's VPN button lights up Green when connected
  5. Visit https://whatismyipaddress.com/
  6. The website should show you as being in the VPN region now 🎉
  7. Check hamburger menu > Brave VPN and ensure toggle there shows as connected
  8. Click the toggle (disconnect) in hamburger menu > Brave VPN
  9. Verify that Brave's VPN button shows as gray when not connected
  10. Visit https://whatismyipaddress.com/
  11. You should be back in your regular region now

macOS - Handle no permission to write config

  1. Fresh profile; enable Brave VPN / SKU
  2. Go to Settings > Networking and remove any occurrences of Brave VPN
  3. Connect to VPN
  4. You should be presented with the dialog from https://github.com/brave/brave-browser/issues/22109
  5. Click Don't allow
  6. You should see a warning like the one under Error message - VPN Connection not allowed in Figma

Verify you can change regions

  1. Complete the steps under Brave Premium login > Login to an existing account which has VPN
  2. Click the VPN button (top right, next to hamburger button)
  3. You should see the default region with a > arrow. Click that to show regions
  4. Region list should show. The choices listed are coming from Guardian VPN.
  5. Choose a different region and connect
  6. Verify you can connect; confirm you're in that region using https://whatismyipaddress.com/
  7. Disconnect from VPN
  8. Choose a different region and connect
  9. Verify connect works; confirm you're in that region using https://whatismyipaddress.com/
  10. Without disconnecting, choose a different region and connect
  11. Verify that VPN disconnects and reconnects; confirm you're in that region using https://whatismyipaddress.com/

Setttings

  1. Complete the steps under Brave Premium login > Login to an existing account which has VPN
  2. Click the VPN button (top right, next to hamburger button)
  3. Click the gear button to go into Settings
  4. Verify navigation works (ex: you can go back; clicking Contact technical support opens a new screen; you can go back from that)

Creating a support ticket

  1. Complete the steps under Brave Premium login > Login to an existing account which has VPN
  2. Click the VPN button (top right, next to hamburger button)
  3. Click the gear button to go into Settings
  4. Click Contact technical support
  5. Fill out the support form. Feel free to try to break it 😄 Provide an email you have access to read
  6. Submit form when ready
  7. Check with a Guardian team member to confirm if ticket was received

Edge cases and error states

Can't connect to server UI

  1. Complete the steps under Brave Premium login > Login to an existing account which has VPN
  2. Unplug your network cable (or disable WiFi)
  3. Click the VPN button (top right, next to hamburger button)
  4. Click the toggle to enable
  5. You should see the error about not being able to connect
  6. Plug network cable back in OR enable WiFi (disabled in step 2)
  7. Click the Try again button
  8. It should work now

Preferences

  1. Visit brave://settings/appearance
  2. Verify there is a setting Show VPN button
  3. Test it out; toggling should show and hide the button next to hamburger menu

Original issue description

Overall goal is to implement a VPN manager within Brave that can create connection, connect, disconnect, and remove a connection. The connection will show in the OS's VPN area for OSes that support that

History (pathfinding, proof of concept info, etc) available in the employee only issue: https://github.com/brave/internal/issues/729

Android is currently a WIP which is tracked with https://github.com/brave/brave-browser/issues/12197 and https://github.com/brave/brave-browser/issues/14048 - development done by @deeppandya

iOS is already live; please see https://github.com/brave/brave-ios/issues/2739 along with https://github.com/brave/brave-ios/pulls?q=is%3Apr+VPN+is%3Aclosed+sort%3Aupdated-desc

Subtasks not covered in test plan

simonhong commented 3 years ago

@rebron Question about VPN state in multi profile situation. Should browser's vpn status(ex, vpn button state) should be per-profile or should be local state?

If user buy VPN with default profile, browser can get credentials within this profile. However, user can't get credentials from another new profile before user login to our premium page again.

If we want to make VPN state globally, credentials should be shared across the profiles Or should we make user login again in new profiles?

rebron commented 3 years ago

Should be per profile and not global.

starboyvarun commented 3 years ago

@bsclifton It would look more attractive if we add a VPN button beside the extension button. It will be easy to access plus more people can use it easily.i.e noncoders. etc And we can also give premium Vpn to Users with rewards. This way users can view more ads and can create revenue indirectly. Thanks!

bsclifton commented 3 years ago

@starboyvarun here's where it shows now: image

When clicked, a UI will popup where you can interact with: image

Good call on the VPN w/ Rewards. We're exploring that for sure - after we get this main use-case working, we intend to look at this 😄

starboyvarun commented 3 years ago

@bsclifton yea, it's in a perfect position. Thanks for taking the suggestions.

stephendonner commented 2 years ago

Verification PASSED using

Builds: 1.39.89 & 1.39.100

OS/arch: macOS-x64/Intel 11.6.5 (Big Sur)

NOTE: the VPN flag isn't available in release-channel builds, so VPN was not testable using the RC:


Brave | 1.39.109 Chromium: 102.0.5005.50 (Official Build) (x86_64)
-- | --
Revision | f6e2cf8f59ec714bdcff8499991d55898875f287-refs/branch-heads/5005@{#648}
OS | macOS Version 11.6.6 (Build 20G624)
SKU flags no VPN flag
Screen Shot 2022-05-20 at 12 11 32 PM Screen Shot 2022-05-20 at 12 11 36 PM

NOTE: It will be tested heavily again in 1.40.x, and an issue tracking remaining verification work will be created, post-release of 1.39.x

Initial Setup

Shared VPN-Setup Steps - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB` **Confirmed I was able to purchase and use a Brave VPN subscription, from end-to-end, defaulting to USA (West):** example | example | example | example | example | example ---------|---------|----------|---------|----------|--------- Screen Shot 2022-05-03 at 4 25 14 PM | Screen Shot 2022-05-03 at 4 26 50 PM | Screen Shot 2022-05-03 at 4 27 00 PM | Screen Shot 2022-05-03 at 4 27 04 PM | Screen Shot 2022-05-03 at 4 27 15 PM | Screen Shot 2022-05-03 at 4 45 50 PM Suggested: also set `Show VPN status in menu bar` via `Apple` -> `System Preferences` -> `Network` for `BraveVPN`: Screen Shot 2022-05-05 at 3 35 39 PM

Between-test cleanup

BraveVPN OS-config removal - PASSED

In-between clean-profile tests, you should remove the `BraveVPN` config in your `Apple` -> `System Preferences` -> `Network` panel. No restart necessary. example | example | example | example ---------|----------|---------|---------- Screen Shot 2022-05-04 at 1 47 54 PM | Screen Shot 2022-05-04 at 1 47 58 PM | Screen Shot 2022-05-04 at 1 48 04 PM | Screen Shot 2022-05-04 at 1 48 08 PM

UI

Theme support - PASSED

1. open `brave://settings/manageProfile` 2. change your theme color 3. verify Brave doesn't crash 4. verify the VPN button adjusts its colors (background, text) accordingly example | example | example | example ---------|----------|---------|--------- Screen Shot 2022-05-03 at 3 07 17 PM | Screen Shot 2022-05-03 at 3 08 43 PM | Screen Shot 2022-05-03 at 3 08 46 PM | Screen Shot 2022-05-03 at 3 07 27 PM

Dark & Light Brave colors support - PASSED

1. visit `brave://settings/appearance` 2. choose the opposite color (if `Light`, switch to `Dark`) 3. examine the various VPN UI elements and ensure they are legible 4. switch back to the opposite color, and do the same `Dark` toggle | location-select | button dialog | contact technical support | (context-click) button dialog | edit your payment ---------|----------|---------|---------|----------|--------- Screen Shot 2022-05-03 at 3 16 11 PM | Screen Shot 2022-05-03 at 3 16 16 PM | Screen Shot 2022-05-03 at 3 16 22 PM | Screen Shot 2022-05-03 at 3 17 00 PM | Screen Shot 2022-05-03 at 3 58 39 PM | Screen Shot 2022-05-09 at 6 44 57 PM `Light` toggle | location-select | button dialog | contact technical support | (context-click) button dialog | edit your payment ---------|---------|----------|---------|----------|--------- Screen Shot 2022-05-03 at 3 16 34 PM | Screen Shot 2022-05-03 at 3 16 38 PM | Screen Shot 2022-05-03 at 3 16 42 PM | Screen Shot 2022-05-03 at 3 16 51 PM | Screen Shot 2022-05-03 at 3 58 48 PM | Screen Shot 2022-05-09 at 6 44 36 PM

brave://settings/appearance - PASSED

VPN button

* open `brave://settings/appearance` * confirm `Show VPN button` is toggled to `ON` by default * toggle it to `OFF` * confirm the `VPN` button disappears from the toolbar in real-time * restart Brave; confirm it's still gone * toggle it back to `ON` * confirm it appears and remains, after restart example | example ---------|--------- Screen Shot 2022-05-03 at 3 38 48 PM | Screen Shot 2022-05-03 at 3 38 53 PM

VPN button and dialog links - PASSED

* Hide VPN button in toolbar - hides the icon; re-enable via `brave://settings/appearance` - see `Settings` section, below * Send Feedback goes to `https://support.brave.com/hc/en-us` * About Brave VPN goes to `https://brave.com/firewall-vpn/` * Manage my plan goes to `https://account.brave.software/` `Hide VPN button` 1 | `Hide VPN button` 2 | `Send Feedback` | `About Brave VPN` | `Manage my plan` ---------|----------|---------|---------|----------- Screen Shot 2022-05-04 at 10 06 32 AM | Screen Shot 2022-05-04 at 10 06 50 AM | Screen Shot 2022-05-04 at 11 21 35 AM |Screen Shot 2022-05-04 at 11 21 53 AM | Screen Shot 2022-05-04 at 11 22 03 AM

Hamburger flyout menu - PASSED

Click on the "hamburger" menu icon on the browser toolbar Screen Shot 2022-05-04 at 11 17 12 AM `Brave VPN` toggle, `Connected` | `Brave VPN` toggle, `Disconnected` | `Hide VPN button in toolbar`, 1 | `Hide VPN button in toolbar`, 2 | `Send feedback` | `About Brave VPN` | `Manage my plan` ------------------|-----------------|--------------|------------------|---------------------|--------------|----------- Screen Shot 2022-05-04 at 11 28 48 AM | Screen Shot 2022-05-04 at 11 30 58 AM | Screen Shot 2022-05-04 at 11 32 37 AM | Screen Shot 2022-05-04 at 11 32 46 AM | Screen Shot 2022-05-04 at 11 21 35 AM | Screen Shot 2022-05-04 at 11 21 53 AM | Screen Shot 2022-05-04 at 11 22 03 AM

VPN-button settings dialog - FAILED

Screen Shot 2022-05-04 at 10 43 39 AM `Manage subscription` | `Contact technical support` | `About Brave Firewall + VPN` ------------------------|-----------------------------|------------------------------ https://github.com/brave/brave-browser/issues/22694 | Screen Shot 2022-05-05 at 5 40 14 PM | https://github.com/brave/brave-browser/issues/22695 Logged: * https://github.com/brave/brave-browser/issues/22694 * https://github.com/brave/brave-browser/issues/22695

Brave Premium login

Purchasing VPN with a new account - PASSED

Steps: Followed steps from `Shared VPN-Setup Steps`, and verified above.

Log in to an existing account which has VPN - PASSED

Steps: 1. install `1.39.x` 2. launch Brave 3. enable both `SKU` flags and the `VPN` flag on `brave://flags` 4. clicked on the `Relaunch` button 5. loaded `account.brave.software` 6. entered the credentials from 1Password 7. entered my previously-created account's email and clicked on `Get login link` 8. opened the email and clicked on the link 9. confirmed I landed on `account.brave.software/account`, which showed my active `Brave VPN Subscription` under `Your plan subscriptions` 10. clicked on the `Refresh Brave VPN` button 11. confirmed a green `YOU HAVE ACTIVE CREDENTIALS LOADED!` banner appeared above the VPN entry 12. clicked on the `VPN` button on the toolbar 13. clicked to (attempt to) toggle it from `DISCONNECTED` to `CONNECTED` 14. clicked `Allow` when prompted to configure the VPN config in macOS 15. clicked again on the now-green `VPN` button, and confirmed I was connected to `USA (West)` example | example | example | example | example ---------|---------|----------|---------|---------- Screen Shot 2022-05-03 at 4 26 50 PM | Screen Shot 2022-05-03 at 4 27 00 PM | Screen Shot 2022-05-03 at 4 27 04 PM | Screen Shot 2022-05-03 at 4 27 15 PM | 166594794-81cba220-05b3-4bf6-8cc1-8833a84ad78e

Post-purchase UX

Default region selection - PASSED

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. You should see a default region picked which is nearest to your location (based on timezone) 4. Set your OS timezone to be in another region (like `Japan`) 5. Create another fresh profile and get set up with VPN 6. Click `VPN` button 7. Verify it shows the region close to where you picked (ex: `Japan`) `default region` | `Japan`, `Standard Time` | `new VPN profile` | `auto-detected region` | `IP/location details` ---------------|-----------------|-----------------|----------------------|-------------------- Screen Shot 2022-05-05 at 2 35 49 PM | Screen Shot 2022-05-06 at 6 54 35 AM | Screen Shot 2022-05-06 at 7 07 15 AM | Screen Shot 2022-05-06 at 7 07 24 AM | Screen Shot 2022-05-06 at 7 07 43 AM

Connecting/disconnecting - PASSED*

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. Enable VPN 4. Verify that Brave's VPN button lights up Green when connected 5. Visit `https://www.ip2location.com/demo` 6. The website should show you as being in the VPN region now 🎉 7. Check `hamburger menu` > `Brave VPN` and ensure toggle there shows as `connected` 8. Click the toggle (`disconnect`) in `hamburger menu` > `Brave VPN` 9. Verify that Brave's VPN button shows as gray when not connected 10. Visit `https://www.ip2location.com/demo` 11. You should be back in your regular region now example | example | example ---------|----------|--------- Screen Shot 2022-05-06 at 12 08 02 PM | Screen Shot 2022-05-06 at 12 00 54 PM | Screen Shot 2022-05-06 at 12 01 26 PM NOTE: this test is good, but basic, and connecting/reconnecting issues will (still) be further tested after this verification. For bonus points/extra credit/gold star ⭐ , alternate the above `Brave VPN` connection-toggle method with: * flyout menu * `Network` control panel in `System Preferences` * system bar (top of macOS) Logged: * https://github.com/brave/brave-browser/issues/22728

Changing regions - PASSED

1. Complete the steps under `Brave Premium login > Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. You should see the default region with a > arrow. Click that to show regions 4. Region list should show. The choices listed are coming from Guardian VPN. 5. Choose a different region and connect 6. Verify you can connect; confirm you're in that region using `whatismyipaddress.com` 7. Disconnect from VPN 8. Choose a different region and connect 9. Verify connect works; confirm you're in that region using `whatismyipaddress.com` 10. Without disconnecting, choose a different region and connect 11. Verify that VPN disconnects and reconnects; confirm you're in that region using `whatismyipaddress.com` auto-detected region | region list | region list, part 2 | 1st region | 2nd region ----------------------|-----------|------------------|-----------|------------ Screen Shot 2022-05-11 at 8 50 34 AM | Screen Shot 2022-05-11 at 8 48 58 AM | Screen Shot 2022-05-11 at 8 48 47 AM | Screen Shot 2022-05-11 at 8 49 51 AM | Screen Shot 2022-05-11 at 8 54 03 AM

OS integration/connectivity

Toggle VPN in operating system (with Brave open) - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, and then: * confirm you can disconnect the Brave VPN via the toggle in the toolbar icon, after successfully setting it up * open the `Apple` menu -> `System Preferences` -> `Network` * find the `BraveVPN` connection * click on `Connect` * confirm the `VPN` button icon lights up green in the toolbar * confirm you are connected to the VPN example | example | example | example ---------|---------|----------|--------- Screen Shot 2022-05-06 at 1 43 24 AM | Screen Shot 2022-05-06 at 1 43 40 AM | Screen Shot 2022-05-06 at 1 43 58 AM | Screen Shot 2022-05-06 at 1 44 16 AM

Toggle VPN in operating system (with Brave closed) - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, and then: * confirm you can disconnect the Brave VPN via the toggle in the toolbar icon, after successfully setting it up * close Brave * open the `Apple` menu -> `System Preferences` -> `Network` * find the `BraveVPN` connection * click on `Connect` * load `ip2location.com/demo` using Firefox (or Chrome, Safari, or Edge...) example | example | example | example ---------|---------|----------|--------- Screen Shot 2022-05-06 at 12 29 49 PM | Screen Shot 2022-05-06 at 12 01 26 PM | Screen Shot 2022-05-06 at 12 31 23 PM | Screen Shot 2022-05-06 at 12 32 29 PM

Creating a support ticket - PASSED

Verified in `https://github.com/brave/brave-browser/issues/18469#issuecomment-1112771226` Logged: * https://github.com/brave/brave-browser/issues/22731

Edge cases and error states

Cancel plan - FAILED

### (UI unimplemented) Logged: * https://github.com/brave/brave-browser/issues/22694

Edit payment - FAILED

### (UI unimplemented) Logged: * https://github.com/brave/brave-browser/issues/22694 * https://github.com/brave/brave-browser/issues/22717

Expired credit card / credentials - FAILED

1. Complete the steps under `Brave Premium login` > `Purchasing VPN with a new account`, making sure to specify the _**current**_ month and year for the credit card's expiration date 2. confirm you can connect to your new `Brave VPN` account 3. open `Date & Time` in `System Preferences` and advance the OS date to the `1st` of _**next**_ month 4. connect to `Brave VPN` 5. confirm you get the `Edit your payment` dialog `card details` | `system clock` | `VPN-button dialog` ------------|--------------|------------ Screen Shot 2022-05-10 at 4 52 43 PM | Screen Shot 2022-06-01 at 4 54 59 PM | Screen Shot 2022-06-01 at 4 56 04 PM Logged: * https://github.com/brave/brave-browser/issues/22972

Can't connect to server UI - FAILED

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Unplug your network cable (or disable Wi-Fi) 3. Click the `VPN` button (top right, next to hamburger button) 4. Click the toggle to `ENABLE` 5. You should see the error about not being able to connect 6. Plug network cable back in OR enable Wi-Fi (disabled in step 2) 7. Click the `Try again` button 8. Confirm you can reconnect actual (fails) | Figma | after restart (works) -------|------|---------- Screen Shot 2022-05-09 at 10 33 48 AM | Screen Shot 2022-05-09 at 10 42 27 AM | Screen Shot 2022-05-09 at 10 43 14 AM Logged: * https://github.com/brave/brave-browser/issues/22754

Limit of 5 VPN-connected devices/profile, on the same account (email address) - FAILED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, using the same email address for each. Ensure you can use each VPN instance successfully (and concurrently) for devices/profiles 1-5. device 1 | device 2 | device 3 | device 4 | device 5 ---------|---------|----------|----------|--------- Screen Shot 2022-05-09 at 2 05 25 PM | Screen Shot 2022-05-09 at 2 16 39 PM | Screen Shot 2022-05-09 at 2 21 14 PM | ![device4](https://user-images.githubusercontent.com/387249/167544566-fc56b0fb-263e-4702-9578-945466d824a1.png) | ![device5](https://user-images.githubusercontent.com/387249/167544570-3e9216d1-0ce8-44c4-9de4-684910ee8a8a.png) Logged: * https://github.com/brave/brave-browser/issues/22757

Security & privacy

DNS leak (ISP) - PASSED

1. connect to any region 2. load `https://browserleaks.com/dns` 3. confirm your local (ISP) DNS resolvers are **not** shown; they should be from the connected VPN region 4. disconnect from VPN 5. reload `https://browserleaks.com/dns` 6. confirm your **local** (ISP) DNS resolvers **_are_** shown BraveVPN DNS resolvers | local ISP resolvers ---------|--------- Screen Shot 2022-05-05 at 4 06 13 PM | Screen Shot 2022-05-05 at 4 12 14 PM Known issues: * https://github.com/brave/brave-browser/issues/22163

DNS-over-HTTP (DoH) - PASSED

1. connect to VPN 2. enable `DNS over HTTP` using any provider, via `brave://settings/security` 3. load `browserleaks.com/dns` 4. confirm the provider's resolvers are shown (NOT your local ISP's) `brave://settings/security` | `browserleaks.com/dns` ---------------------------|------------------------- Screen Shot 2022-05-10 at 12 41 26 PM | Screen Shot 2022-05-10 at 12 41 43 PM

TOR - PASSED

1. connect to VPN 2. open a `New Private window with Tor` 3. load `check.torproject.org` 4. ensure you see `Congratulations. This browser is configured to use Tor` Screen Shot 2022-05-10 at 11 27 26 AM

Torrent (via WebTorrents support) - PASSED

1. run through the `Shared VPN-Setup Steps` section 2. disconnect from `BraveVPN` 3. load `https://ipleak.net/` 4. click on `Activate` under `Torrent Address detection` 5. click on `this Magnet Link` (it'll open in a new window) 6. reload the URL (to work around a bug) 7. click on `Start Torrent` 8. return to the `https://ipleak.net/` tab 9. confirm that you see your public (local ISP) IP address 10. connect to `BraveVPN` via your preferred method (flyout menu, button toggle, macOS system bar (top), and `Network` control panel in `System Preferences`) 11. `shift` + `reload` the page (to purge cache) <------ IMPORTANT 12. repeat steps 4-8 13. confirm you now see the appropriate VPN IP address (for your region) 14. switch to another region (for bonus points) `step 9` - `AT&T ISP` | `step 13` - `USA (West)` | `step 14` - `Switzerland` -------|--------|--------------- Screen Shot 2022-05-10 at 10 23 51 PM | Screen Shot 2022-05-10 at 10 24 43 PM | Screen Shot 2022-05-10 at 10 27 47 PM

WebRTC - PASSED

1. connect to `BraveVPN` 2. load `https://browserleaks.com/webrtc` 3. iterate through the values for `WebRTC IP handling policy` 4. note the absence/presence and value of both local + public IP addresses, as reflected by their respective setting #### `VPN connected` `Default` | `Default public and private interfaces` | `Default public interface only` | `Disable non-proxied UDP` ----------|---------------------------------------|--------------------------------|--------------------------- Screen Shot 2022-05-25 at 2 05 04 PM | Screen Shot 2022-05-25 at 2 05 25 PM | Screen Shot 2022-05-25 at 2 05 39 PM | Screen Shot 2022-05-25 at 2 05 55 PM #### `Disconnected from VPN` `Default` | `Default public and private interfaces` | `Default public interface only` | `Disable non-proxied UDP` ----------|---------------------------------------|--------------------------------|--------------------------- Screen Shot 2022-05-10 at 3 12 39 PM | Screen Shot 2022-05-10 at 3 12 49 PM | Screen Shot 2022-05-10 at 3 13 03 PM | Screen Shot 2022-05-10 at 3 13 17 PM

Keyboard accessibility - FAILED

1. set up VPN 2. click on the `VPN` button on the browser toolbar 3. click on the `Settings` (gear) icon 4. press `tab` to forward-cycle through elements 18. press `shift` + `tab` to backwards-cycle through the dialog links 19. confirm you can press `spacebar` and `return` to select ("click") links Logged: * https://github.com/brave/brave-browser/issues/22631 * https://github.com/brave/brave-browser/issues/22632 * https://github.com/brave/brave-browser/issues/22732

Issues encountered while testing:

* https://github.com/brave/brave-browser/issues/22676 * https://github.com/brave/brave-browser/issues/22677 * https://github.com/brave/brave-browser/issues/22653 * https://github.com/brave/brave-browser/issues/22636 * https://github.com/brave/brave-browser/issues/22632 * https://github.com/brave/brave-browser/issues/22631 * https://github.com/brave/brave-browser/issues/22713 * https://github.com/brave/brave-browser/issues/22710 * https://github.com/brave/brave-browser/issues/22711 * https://github.com/brave/brave-browser/issues/22726 * https://github.com/brave/brave-browser/issues/22728 * https://github.com/brave/brave-browser/issues/22628 * https://github.com/brave/brave-browser/issues/22731 * https://github.com/brave/brave-browser/issues/22732 * https://github.com/brave/brave-browser/issues/22754 * https://github.com/brave/brave-browser/issues/22757 * https://github.com/brave/brave-browser/issues/22882 * https://github.com/brave/brave-browser/issues/22883 * https://github.com/brave/brave-browser/issues/22972
LaurenWags commented 2 years ago

Verified on macOS arm64/M1 with

Brave | 1.39.89 Chromium: 101.0.4951.41 (Official Build) beta (arm64)
-- | --
Revision | 93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}
OS | macOS Version 12.3.1 (Build 21E258)

Encountered the following issues during testing (where not otherwise referenced in below cases):

Initial Setup

Shared VPN-Setup Steps - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB` **Confirmed I was able to purchase and use a Brave VPN subscription, from end-to-end, defaulting to USA (East):** example | example | example | example ---------|---------|----------|--------- 1 | 2 | 3 | 4 Suggested: also set `Show VPN status in menu bar` via `Apple` -> `System Preferences` -> `Network` for `BraveVPN` as per https://github.com/brave/brave-browser/issues/15804#issuecomment-1116639987.

Between-test cleanup

BraveVPN OS-config removal - PASSED

In-between clean-profile tests, you should remove the `BraveVPN` config in your `Apple` -> `System Preferences` -> `Network` panel. No restart necessary.

UI

Theme support - PASSED

1. open `brave://settings/manageProfile` 2. change your theme color 3. verify Brave doesn't crash 4. verify the VPN button adjusts its colors (background, text) accordingly example | example | example | example | example ---------|----------|---------|---------|--------- Screen Shot 2022-05-06 at 3 32 47 PM | Screen Shot 2022-05-06 at 3 33 21 PM | Screen Shot 2022-05-06 at 3 33 50 PM | Screen Shot 2022-05-06 at 3 34 03 PM | Screen Shot 2022-05-06 at 3 35 33 PM

Dark & Light Brave Colors support - PASSED

1. visit `brave://settings/appearance` 2. choose the opposite color (if `Light`, switch to `Dark`) 3. examine the various VPN UI elements and ensure they are legible 4. switch back to the opposite color, and do the same `Dark` example | example | example | example | example | example | example | example | example ---------|---------|----------|---------|----------|---------|----------|---------|---------- D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 `Light` example | example | example | example | example | example | example | example | example ---------|---------|----------|---------|----------|---------|----------|---------|---------- L1 | L2 | L3 | L4 | L5 | L6 | L7 | L8 | L9

brave://settings/appearance

VPN button - PASSED

* open `brave://settings/appearance` * confirm `Show VPN button` is toggled to `ON` by default * toggle it to `OFF` * confirm the `VPN` button disappears from the toolbar in real-time * restart Brave; confirm it's still gone * toggle it back to `ON` * confirm it appears and remains, after restart example | example ---------|--------- OFF | ON

VPN button and dialog links - PASSED

* Hide VPN button in toolbar - hides the icon; re-enable via `brave://settings/appearance` - see `Settings` section, below * Send Feedback goes to `https://support.brave.com/hc/en-us` * About Brave VPN goes to `https://brave.com/firewall-vpn/` * Manage my plan goes to `https://account.brave.software/` `Hide VPN button` 1 | `Hide VPN button` 2 | `Send Feedback` | `About Brave VPN` | `Manage my plan` ---------|----------|---------|---------|----------- 1 | 2 | 3 | 4 | 5

Hamburger flyout menu - PASSED

Click on the "hamburger" menu icon on the browser toolbar hamburger * Hide VPN button in toolbar - hides the VPN icon * Show VPN button in toolbar - shows the VPN icon * Send Feedback goes to `https://support.brave.com/hc/en-us` * About Brave VPN goes to `https://brave.com/firewall-vpn/` * Manage my plan goes to `https://account.brave.software/` `Brave VPN` toggle, `Connected` | `Brave VPN` toggle, `Disconnected` | `Hide VPN button in toolbar`, 1 | `Hide VPN button in toolbar`, 2 | `Send feedback` | `About Brave VPN` | `Manage my plan` ------------------|-----------------|--------------|------------------|---------------------|--------------|----------- 1 | 2 | 3 | 4 | 5 | 6 | 7

VPN-button settings dialog - FAILED, follow up issues logged

Click on gear icon to get settings: Example | Example ----- | ----- 1 | 2 `Manage subscription` | `Contact technical support` | `About Brave Firewall + VPN` ------------------------|-----------------------------|------------------------------ https://github.com/brave/brave-browser/issues/22694 | 3 | https://github.com/brave/brave-browser/issues/22695 Encountered: * https://github.com/brave/brave-browser/issues/22694 * https://github.com/brave/brave-browser/issues/22695

Brave Premium login

Purchasing VPN with a new account - PASSED

Steps: Followed steps from `Shared VPN-Setup Steps` (`https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`), and confirmed able to use VPN with a fresh account. new account

Log in to an existing account which has VPN - PASSED

Steps: Modified "Shared VPN-Setup Steps" (`https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`) to use account created above on a new browser profile. example | example | example | example | example ---------|---------|----------|---------|---------- 1 | 2 | 3 | 4 | 5
Brave | 1.39.96 Chromium: 101.0.4951.54 (Official Build) beta (arm64)
-- | --
Revision | 67da1aeb32cedd27634ca6634fb79cbd85d3f0ab-refs/branch-heads/4951@{#1126}
OS | macOS Version 12.3.1 (Build 21E258)

Post-purchase UX

Default region selection - PASSED

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. You should see a default region picked which is nearest to your location (based on timezone) 4. Set your OS timezone to be in another region (like `Germany`) 5. Create another fresh profile and get set up with VPN 6. Click `VPN` button 7. Verify it shows the region close to where you picked (ex: `Germany`) default region | default region | default region | Germany timezone | auto-detected region | IP/location details ---------------|-----------------|-----------------|----------------------|--------------------|-------------------- 1 | 2 | 3 | Germany1 | Germany2 | Germany3

Connecting/disconnecting - PASSED w/ follow up issue

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. Enable VPN 4. Verify that Brave's VPN button lights up Green when connected 5. Visit `https://www.ip2location.com/demo` 6. The website should show you as being in the VPN region now 🎉 7. Check `hamburger menu` > `Brave VPN` and ensure toggle there shows as `connected` 8. Click the toggle (`disconnect`) in `hamburger menu` > `Brave VPN` 9. Verify that Brave's VPN button shows as gray when not connected 10. Visit `https://www.ip2location.com/demo` 11. You should be back in your regular region now example | example | example ---------|----------|--------- 1 | 2 | 3 NOTE: this test is good, but basic, and connecting/reconnecting issues will (still) be further tested after this verification. Additionally, alternated the above `Brave VPN` connection-toggle method with: * flyout menu * `Network` control panel in `System Preferences` * system bar (top of macOS) Encountered: * https://github.com/brave/brave-browser/issues/22728
Brave | 1.39.101 Chromium: 101.0.4951.64 (Official Build) beta (arm64)
-- | --
Revision | d1daa9897e1bc1d507d6be8f2346e377e5505905-refs/branch-heads/4951@{#1208}
OS | macOS Version 12.3.1 (Build 21E258)

Changing regions - PASSED

1. Complete the steps under `Brave Premium login > Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. You should see the default region with a > arrow. Click that to show regions 4. Region list should show. The choices listed are coming from Guardian VPN. 5. Choose a different region and connect 6. Verify you can connect; confirm you're in that region using `whatismyipaddress.com` 7. Disconnect from VPN 8. Choose a different region and connect 9. Verify connect works; confirm you're in that region using `whatismyipaddress.com` 10. Without disconnecting, choose a different region and connect 11. Verify that VPN disconnects and reconnects; confirm you're in that region using `whatismyipaddress.com` Step 3 auto-detected region | Step 4 region list | Step 4 region list, part 2 | Step 6 region | Step 9 region | Step 11 region ----- | ----- | ----- | ----- | ----- | ----- 2 | 3a | 3b | 6 | 9 | 11

OS integration/connectivity

Toggle VPN in operating system (with Brave open) - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, and then: * confirm you can disconnect the Brave VPN via the toggle in the toolbar icon, after successfully setting it up * open the `Apple` menu -> `System Preferences` -> `Network` * find the `BraveVPN` connection * click on `Connect` * confirm the `VPN` button icon lights up green in the toolbar * confirm you are connected to the VPN example | example | example | example ---------|---------|----------|--------- 5 | 6 | 7 | 8 Also, repeated above test but used the quick access VPN status from macOS menu bar example | example | example | example ---------|---------|----------|--------- 1 | 2 | 3 | 4
Brave | 1.39.106 Chromium: 101.0.4951.67 (Official Build) beta (arm64)
-- | --
Revision | 8888ee7a24e2c36661ddb9536c35b7d4852a3a98-refs/branch-heads/4951@{#1230}
OS | macOS Version 12.3.1 (Build 21E258)

Toggle VPN in operating system (with Brave closed) - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, and then: * confirm you can disconnect the Brave VPN via the toggle in the toolbar icon, after successfully setting it up * close Brave * open the `Apple` menu -> `System Preferences` -> `Network` * find the `BraveVPN` connection * click on `Connect` * load `ip2location.com/demo` using a browser that is not Brave (Safari, Chrome, FF, etc) example | example | example ---------|---------|---------- 1 | 2 | 3 Also, repeated above test but used the quick access VPN status from macOS menu bar example | example | example ---------|---------|---------- 1 | 2 | 3

Creating a support ticket - SKIPPED

Per discussion with @stephendonner via https://bravesoftware.slack.com/archives/GAA4017R7/p1652193195321979?thread_ts=1652193018.128719&cid=GAA4017R7, skipping this as he has already verified on macOS and this is live. Stephen will add notes for macOS to https://github.com/brave/brave-browser/issues/18469 which covers this case as well.

Edge cases and error states

Cancel plan - UNIMPLEMENTED

See logged issue #22694

Edit payment - UIMPLEMENTED

See logged issues #22694 and #22717

Expired credit card / credentials - FAILED

See logged issue #22972

Can't connect to server UI - Failed

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 7. Unplug your network cable (or disable Wi-Fi) 8. Click the `VPN` button (top right, next to hamburger button) 9. Click the toggle to `ENABLE` 10. You should see the error about not being able to connect 11. Plug network cable back in OR enable Wi-Fi (disabled in step 2) 12. Click the `Try again` button 13. It should work now actual (fails) | Figma | after restart (works) -------|------|---------- 1 | figma | 2 Encountered/reproduced https://github.com/brave/brave-browser/issues/22754

Limit of 5 VPN-connected devices/profile, on the same account (email address) - FAILED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, using the same email address for each. Ensure you can use each VPN instance successfully (and concurrently) for devices/profiles 1-5. Encountered logged issue https://github.com/brave/brave-browser/issues/22757

Security & privacy

DNS leak (ISP) - PASSED

1. connect to any region 2. load `https://browserleaks.com/dns` 3. confirm your local (ISP) DNS resolvers are **not** shown; they should be from the connected VPN region 4. disconnect from VPN 5. reload `https://browserleaks.com/dns` 6. confirm your **local** (ISP) DNS resolvers **_are_** shown BraveVPN DNS resolvers | local ISP resolvers ---------|--------- 1 | 2

DNS-over-HTTP (DoH) - PASSED

1. connect to VPN 2. enable `DNS over HTTP` using any provider, via `brave://settings/security` 3. load `browserleaks.com/dns` 4. confirm the provider's resolvers are shown (NOT your local ISP's) `brave://settings/security` | `browserleaks.com/dns` ---------------------------|------------------------- 1 | 2

TOR - PASSED

1. connect to VPN 2. open a `New Private window with Tor` 3. load `check.torproject.org` 4. ensure you see `Congratulations. This browser is configured to use Tor` Screen Shot 2022-05-19 at 4 06 03 PM
Brave | 1.40.73 Chromium: 102.0.5005.61 (Official Build) dev (arm64)
-- | --
Revision | 0e59bcc00cc4985ce39ad31c150065f159d95ad3-refs/branch-heads/5005@{#819}
OS | macOS Version 12.3.1 (Build 21E258)

Torrent (via WebTorrents support) - PASSED

1. run through the `Shared VPN-Setup Steps` section 2. disconnect from `BraveVPN` 3. load `https://ipleak.net/` 4. click on `Activate` under `Torrent Address detection` 5. click on `this Magnet Link` (it'll open in a new window) 6. reload the URL (to work around a bug) 7. click on `Start Torrent` 8. return to the `https://ipleak.net/` tab 9. confirm that you see your public (local ISP) IP address 10. connect to `BraveVPN` via your preferred method (flyout menu, button toggle, macOS system bar (top), and `Network` control panel in `System Preferences`) 11. `shift` + `reload` the page (to purge cache) <------ IMPORTANT 12. repeat steps 4-8 13. confirm you now see the appropriate VPN IP address (for your region) 14. switch to another region (for bonus points) `step 13` | `step 14` -------|-------- 13a | 14a 13b | 14b

WebRTC - PASSED

1. connect to `BraveVPN` 2. load `https://browserleaks.com/webrtc` 3. iterate through the values for `WebRTC IP handling policy` 4. note the absence/presence and value of both local + public IP addresses, as reflected by their respective setting #### `VPN connected` `Default` | `Default public and private interfaces` | `Default public interface only` | `Disable non-proxied UDP` ----------|---------------------------------------|--------------------------------|--------------------------- 1 | 2 | 3 | 4 #### `Disconnected from VPN` `Default` | `Default public and private interfaces` | `Default public interface only` | `Disable non-proxied UDP` ----------|---------------------------------------|--------------------------------|--------------------------- 1 | 2 | 3 | 4

Keyboard accessibility - FAILED

1. set up VPN 2. click on the `VPN` button on the browser toolbar 3. click on the `Settings` (gear) icon 4. press `tab` to forward-cycle through elements 18. press `shift` + `tab` to backwards-cycle through the dialog links 19. confirm you can press `spacebar` and `return` to select ("click") links Encountered logged issues: * https://github.com/brave/brave-browser/issues/22631 * https://github.com/brave/brave-browser/issues/22632 * https://github.com/brave/brave-browser/issues/22732
GeetaSarvadnya commented 2 years ago

Verification PASSED on


Brave | 1.39.96 Chromium: 101.0.4951.54 (Official Build) beta (64-bit)
-- | --
Revision | 67da1aeb32cedd27634ca6634fb79cbd85d3f0ab-refs/branch-heads/4951@{#1126}
OS | Windows 10 Version 21H2 (Build 19044.1645)

Encountered and logged the following issues:

VPN status doesn't show the connected state when brave is auto-upgraded #23080 VPN can't be reconnected in the same session when internet/wifi is disconnected and reconnected #23081

Initial Setup

Shared VPN-Setup Steps - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB` **Confirmed I was able to purchase and use a Brave VPN subscription, from end-to-end, defaulting to USA (East):** example | example | example | example | example ---------|---------|----------|---------|------ ![image](https://user-images.githubusercontent.com/38657976/168116177-057a82ba-9d11-4171-80d3-186e9c268d8f.png) | ![image](https://user-images.githubusercontent.com/38657976/168119150-2d9cf90e-deff-4724-b1ce-9479cd8227f3.png) | ![image](https://user-images.githubusercontent.com/38657976/168119462-d46c5957-f965-4bf9-a8b3-4a6235f1906a.png) | ![image](https://user-images.githubusercontent.com/38657976/168119691-6972216b-119b-4ade-8a3d-170e39c0feab.png) | ![image](https://user-images.githubusercontent.com/38657976/169056418-c6064e74-2d0f-4887-99ff-a48e6eb134b5.png) Suggested: also set `Show VPN status in menu bar` via Manage Notifications->Settings->BraveVPN ![image](https://user-images.githubusercontent.com/38657976/169057481-a028828d-70f7-4bf7-8c80-612ee313a845.png)

Between-test cleanup

BraveVPN OS-config removal - PASSED

In-between clean-profile tests, you should remove the Manage Notifications->Settings->BraveVPN example | example | example ---------|----------|--------- ![image](https://user-images.githubusercontent.com/38657976/169058306-d4197ffd-2af0-4fcd-bd31-e5df883a067c.png) | ![image](https://user-images.githubusercontent.com/38657976/169058541-180bb9f4-2075-4f85-bdbd-83fef0b4dc4b.png) | ![image](https://user-images.githubusercontent.com/38657976/169058692-c50d6fa1-4d80-4252-bc8f-79b6470b1dec.png)

UI

Theme support - PASSED

1. open `brave://settings/manageProfile` 2. change your theme color 3. verify Brave doesn't crash 4. verify the VPN button adjusts its colors (background, text) accordingly example | example | example | example ---------|----------|---------|--------- ![image](https://user-images.githubusercontent.com/38657976/169059508-637f527d-c64d-4543-a9d9-d9e26b11da91.png) | ![image](https://user-images.githubusercontent.com/38657976/169059569-1df9720f-3948-4c02-81d7-420e7c772a7e.png) | ![image](https://user-images.githubusercontent.com/38657976/169059707-249b777c-9d8a-4264-80da-09ed27020cbf.png) | ![image](https://user-images.githubusercontent.com/38657976/169059771-1505fe47-9994-4144-9966-515fa31d5c2a.png)

Dark & Light Brave colors support - PASSED

1. visit `brave://settings/appearance` 2. choose the opposite color (if `Light`, switch to `Dark`) 3. examine the various VPN UI elements and ensure they are legible 4. switch back to the opposite color, and do the same `Dark` toggle | location-select | button dialog | contact technical support | (context-click) button dialog | edit your payment ---------|----------|---------|---------|----------|--------- ![image](https://user-images.githubusercontent.com/38657976/170022963-b5e0471d-0d29-448a-8d5f-1610db1454fc.png) | ![image](https://user-images.githubusercontent.com/38657976/170023061-dc05871d-2f3c-40b2-8cd5-f5b8684fc7ad.png) | ![image](https://user-images.githubusercontent.com/38657976/170025059-1a6ffd28-3206-454b-a235-ec63c574942c.png) | ![image](https://user-images.githubusercontent.com/38657976/170025562-0b927c27-8cd7-4ddc-b8e4-c8c98dde8be5.png) | ![image](https://user-images.githubusercontent.com/38657976/170025665-b54df127-1156-4e8b-97d9-7a742bd00354.png) | ![image](https://user-images.githubusercontent.com/38657976/170028612-91e45661-6412-4cb7-9eee-b23568565718.png) `Light` toggle | location-select | button dialog | contact technical support | (context-click) button dialog | edit your payment ---------|---------|----------|---------|----------|--------- ![image](https://user-images.githubusercontent.com/38657976/169516699-eb9ef891-5c00-44d2-a4b2-7a5e49552bc5.png) | ![image](https://user-images.githubusercontent.com/38657976/169516744-f838c11e-073f-43c2-9dc1-91025fbee07f.png) | ![image](https://user-images.githubusercontent.com/38657976/169516791-cf24cfa3-586e-43b3-8122-ad49ee146f79.png) | ![image](https://user-images.githubusercontent.com/38657976/169516852-606ef36a-2f8f-45c0-a6d1-587bc946f2ef.png) | ![image](https://user-images.githubusercontent.com/38657976/169517061-4b1daa8b-4840-4bda-8536-b1cb671aa9ff.png) | ![image](https://user-images.githubusercontent.com/38657976/170028433-73812bf2-6a04-4a4a-8cf6-1713c51a25d2.png)

brave://settings/appearance - PASSED

VPN button

* open `brave://settings/appearance` * confirm `Show VPN button` is toggled to `ON` by default * toggle it to `OFF` * confirm the `VPN` button disappears from the toolbar in real-time * restart Brave; confirm it's still gone * toggle it back to `ON` * confirm it appears and remains, after restart example | example ---------|--------- ![image](https://user-images.githubusercontent.com/38657976/170031441-3577f4d9-975c-4901-9b31-1a3f15fd2a9f.png) | ![image](https://user-images.githubusercontent.com/38657976/170031501-108bb9cf-15a1-4a3d-b073-0d429e4b5168.png)

VPN button and dialog links - PASSED

* Hide VPN button in toolbar - hides the icon; re-enable via `brave://settings/appearance` - see `Settings` section, below * Send Feedback goes to `https://support.brave.com/hc/en-us` * About Brave VPN goes to `https://brave.com/firewall-vpn/` * Manage my plan goes to `https://account.brave.software/` `Hide VPN button` 1 | `Hide VPN button` 2 | `Send Feedback` | `About Brave VPN` | `Manage my plan` ---------|----------|---------|---------|----------- ![image](https://user-images.githubusercontent.com/38657976/170078625-c3a84073-78b6-4d3a-a06e-fda117266cbd.png) | ![image](https://user-images.githubusercontent.com/38657976/170081332-a91bedc5-8f4c-4207-9bd4-189353255488.png) | ![image](https://user-images.githubusercontent.com/38657976/170081652-446916d5-8920-4880-a680-b3c085dec05b.png) | ![image](https://user-images.githubusercontent.com/38657976/170081787-63f815d8-e323-4b12-9d48-5b267b9f737d.png) | ![image](https://user-images.githubusercontent.com/38657976/170081921-93cae8d0-6f00-4ba4-8784-cd0b13951e56.png)

Hamburger flyout menu - PASSED

Click on the "hamburger" menu icon on the browser toolbar ![image](https://user-images.githubusercontent.com/38657976/170085277-a8370a88-2d9d-4486-a66f-5bd26d689f5f.png) `Brave VPN` toggle, `Connected` | `Brave VPN` toggle, `Disconnected` | `Hide VPN button in toolbar`, 1 | `Hide VPN button in toolbar`, 2 | `Send feedback` | `About Brave VPN` | `Manage my plan` ------------------|-----------------|--------------|------------------|---------------------|--------------|----------- ![image](https://user-images.githubusercontent.com/38657976/170085358-992977e3-1784-4da5-baa8-909e63707bab.png) | ![image](https://user-images.githubusercontent.com/38657976/170085435-bae80674-d31a-44ae-b9ef-bf89b9086a38.png) | ![image](https://user-images.githubusercontent.com/38657976/170085525-ffcba829-71d9-4ded-849a-87dd57ed261d.png) | ![image](https://user-images.githubusercontent.com/38657976/170085586-434064c7-1294-4486-8e0b-527e1c5729f6.png) | ![image](https://user-images.githubusercontent.com/38657976/170085762-e4a6eb5c-6f32-4537-abf4-11760e9ef62f.png) | ![image](https://user-images.githubusercontent.com/38657976/170085844-77e02e14-4132-4ccc-af16-dce2c98b1f39.png) | ![image](https://user-images.githubusercontent.com/38657976/170085927-471877dd-64d9-42b3-92f9-ef2873e8f456.png)

VPN-button settings dialog - FAILED

Screen Shot 2022-05-04 at 10 43 39 AM Encountered https://github.com/brave/brave-browser/issues/22694 Encountered https://github.com/brave/brave-browser/issues/22695 **Contact technical support** ![image](https://user-images.githubusercontent.com/38657976/170253305-34a53f3e-789c-4060-abc7-32c57e79b744.png)

Brave Premium login

Purchasing VPN with a new account - PASSED

Steps: Followed steps from `Shared VPN-Setup Steps`, and verified above.

Log in to an existing account which has VPN - PASSED

Steps: 1. install `1.39.x` 2. launch Brave 3. enable both `SKU` flags and the `VPN` flag on `brave://flags` 4. clicked on the `Relaunch` button 5. loaded `account.brave.software` 6. entered the credentials from 1Password 7. entered my previously-created account's email and clicked on `Get login link` 8. opened the email and clicked on the link 9. confirmed I landed on `account.brave.software/account`, which showed my active `Brave VPN Subscription` under `Your plan subscriptions` 10. clicked on the `Refresh Brave VPN` button 11. confirmed a green `YOU HAVE ACTIVE CREDENTIALS LOADED!` banner appeared above the VPN entry 12. clicked on the `VPN` button on the toolbar 13. clicked to (attempt to) toggle it from `DISCONNECTED` to `CONNECTED` 14. clicked `Allow` when prompted to configure the VPN config in macOS 15. clicked again on the now-green `VPN` button, and confirmed I was connected to `USA (West)` example | example | example ---------|---------|---------- ![image](https://user-images.githubusercontent.com/38657976/170433856-7f907798-09cc-49ce-b3f6-95a5353c284a.png) | ![image](https://user-images.githubusercontent.com/38657976/170435209-9c7fdb3b-d0a4-41e8-bbbb-60178424c1b5.png) | ![image](https://user-images.githubusercontent.com/38657976/170438065-94083b0e-426b-475e-bd3d-318589f54238.png)

Post-purchase UX

Default region selection - PASSED

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. You should see a default region picked which is nearest to your location (based on timezone) 4. Set your OS timezone to be in another region (like `Japan`) 5. Create another fresh profile and get set up with VPN 6. Click `VPN` button 7. Verify it shows the region close to where you picked (ex: `Japan`) `US region` | `IP/location details` | `autodetected region US (East)` | `IN region` | `IP/location details` | `autodetected region Singapore` ---------------|-----------------|-----------------|----------------------|--------------------|------------ ![image (1)](https://user-images.githubusercontent.com/38657976/170457029-0d7459cc-297c-437c-9342-f230fa4c55af.png) | ![image (2)](https://user-images.githubusercontent.com/38657976/170457051-eb0fba0f-cc0b-4eeb-9915-d62cd5a318a9.png) | ![image (3)](https://user-images.githubusercontent.com/38657976/170457063-206e9230-f9ce-4852-b8f7-5a125bde3252.png) | ![image](https://user-images.githubusercontent.com/38657976/170457579-51d4f81a-c700-4221-91e2-c4cf52b1dcb6.png) | ![image (1)](https://user-images.githubusercontent.com/38657976/170457645-2eecec19-25aa-43ee-9c5a-760f7d196e7a.png) | ![image (2)](https://user-images.githubusercontent.com/38657976/170457685-aa9759a9-00bc-4ca2-92e6-510b2c2c0f15.png)

Connecting/disconnecting - PASSED*

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. Enable VPN 4. Verify that Brave's VPN button lights up Green when connected 5. Visit `https://www.ip2location.com/demo` 6. The website should show you as being in the VPN region now 🎉 7. Check `hamburger menu` > `Brave VPN` and ensure toggle there shows as `connected` 8. Click the toggle (`disconnect`) in `hamburger menu` > `Brave VPN` 9. Verify that Brave's VPN button shows as gray when not connected 10. Visit `https://www.ip2location.com/demo` 11. You should be back in your regular region now example | example | example ---------|----------|--------- ![image](https://user-images.githubusercontent.com/38657976/170991736-4103ef2d-474c-4079-9f27-8605231cefe1.png) | ![image](https://user-images.githubusercontent.com/38657976/170991645-8b99c3cb-19f7-4274-8a1d-bf0381cde5ba.png) | ![image](https://user-images.githubusercontent.com/38657976/170992037-684f204b-5982-4af9-9a85-d970b7dd52d3.png) NOTE: this test is good, but basic, and connecting/reconnecting issues will (still) be further tested after this verification. For bonus points/extra credit/gold star ⭐ , alternate the above `Brave VPN` connection-toggle method with: * flyout menu * `Network` control panel in `System Preferences` * system bar (top of macOS) Encountered: * https://github.com/brave/brave-browser/issues/22728

Changing regions - PASSED

1. Complete the steps under `Brave Premium login > Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. You should see the default region with a > arrow. Click that to show regions 4. Region list should show. The choices listed are coming from Guardian VPN. 5. Choose a different region and connect 6. Verify you can connect; confirm you're in that region using `whatismyipaddress.com` 7. Disconnect from VPN 8. Choose a different region and connect 9. Verify connect works; confirm you're in that region using `whatismyipaddress.com` 10. Without disconnecting, choose a different region and connect 11. Verify that VPN disconnects and reconnects; confirm you're in that region using `whatismyipaddress.com` auto-detected region | region list | region list, part 2 | 1st region | 2nd region ----------------------|-----------|------------------|-----------|------------ ![image](https://user-images.githubusercontent.com/38657976/171026024-0f3b9556-6efb-41a9-863d-2423247e0f75.png) | ![image](https://user-images.githubusercontent.com/38657976/171026082-c836076d-c88e-480e-9abc-a365cb394b18.png) | ![image](https://user-images.githubusercontent.com/38657976/171026164-93da0883-2686-4684-9786-a711974d15c9.png) | ![image](https://user-images.githubusercontent.com/38657976/171026270-124d194f-9534-454c-a82a-f570a6018b95.png) | ![image](https://user-images.githubusercontent.com/38657976/171026349-526dcb00-73ad-4b46-ab87-489f13c788e1.png)

OS integration/connectivity

Toggle VPN in operating system (with Brave open) - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, and then: * confirm you can disconnect the Brave VPN via the toggle in the toolbar icon, after successfully setting it up * open the `Apple` menu -> `System Preferences` -> `Network` * find the `BraveVPN` connection * click on `Connect` * confirm the `VPN` button icon lights up green in the toolbar * confirm you are connected to the VPN example | example | example | example ---------|---------|----------|--------- ![image](https://user-images.githubusercontent.com/38657976/171030279-4ad57817-b40c-473e-91f5-8de4ef3bdc4b.png) | ![image](https://user-images.githubusercontent.com/38657976/171030376-8d9a50d1-1cee-4b6b-ab85-a73547521a6c.png) | ![image](https://user-images.githubusercontent.com/38657976/171030422-aec928ee-391e-4c2c-9d76-62aa166ff714.png) | ![image](https://user-images.githubusercontent.com/38657976/171030460-7c6177bd-478b-4d4b-ad51-9b3af4c76f95.png)

Toggle VPN in operating system (with Brave closed) - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, and then: * confirm you can disconnect the Brave VPN via the toggle in the toolbar icon, after successfully setting it up * close Brave * open the `Apple` menu -> `System Preferences` -> `Network` * find the `BraveVPN` connection * click on `Connect` * load `ip2location.com/demo` using Firefox (or Chrome, Safari, or Edge...) example | example | example | example ---------|---------|----------|--------- ![image](https://user-images.githubusercontent.com/38657976/171031596-9ced6d01-831d-4412-b16c-e2a6418948ca.png) | ![image](https://user-images.githubusercontent.com/38657976/171032298-1075dcd2-3341-4c34-88bd-020bc36bdec6.png) | ![image](https://user-images.githubusercontent.com/38657976/171032357-4578cf07-6ae4-4925-bb47-156d0dbed0d3.png) | ![image](https://user-images.githubusercontent.com/38657976/171032996-89481df1-4cf5-40ef-936c-67f28c194c0a.png)

Creating a support ticket - PASSED

Verified in `https://github.com/brave/brave-browser/issues/18469#issuecomment-1112771226` Encountered: * https://github.com/brave/brave-browser/issues/22731

Edge cases and error states

Cancel plan - FAILED

### (UI unimplemented) Encountered: * https://github.com/brave/brave-browser/issues/22694

Edit payment - FAILED

### (UI unimplemented) Encountered: * https://github.com/brave/brave-browser/issues/22694 * https://github.com/brave/brave-browser/issues/22717

Expired credit card / credentials - FAILED

1. Complete the steps under `Brave Premium login` > `Purchasing VPN with a new account`, making sure to specify the _**current**_ month and year for the credit card's expiration date 2. confirm you can connect to your new `Brave VPN` account 3. open `Date & Time` in `System Preferences` and advance the OS date to the `1st` of _**next**_ month 4. connect to `Brave VPN` 5. confirm you get the `Edit your payment` dialog `card details` | `system clock` | `VPN-button dialog` ------------|--------------|------------ ![image](https://user-images.githubusercontent.com/38657976/171124060-8a5bedf4-2f47-46d1-af57-9cc5f9b7b064.png) | ![image](https://user-images.githubusercontent.com/38657976/171124375-5ea1fc6f-5145-4016-b7a3-82941dac2f45.png) | ![image](https://user-images.githubusercontent.com/38657976/171125189-2b901beb-3302-4106-a059-77a2d3f5983d.png) Encountered: * https://github.com/brave/brave-browser/issues/22972

Can't connect to server UI - FAILED

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Unplug your network cable (or disable Wi-Fi) 3. Click the `VPN` button (top right, next to hamburger button) 4. Click the toggle to `ENABLE` 5. You should see the error about not being able to connect 6. Plug network cable back in OR enable Wi-Fi (disabled in step 2) 7. Click the `Try again` button 8. Confirm you can reconnect Encountered: * https://github.com/brave/brave-browser/issues/22754

Limit of 5 VPN-connected devices/profile, on the same account (email address) - FAILED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, using the same email address for each. Ensure you can use each VPN instance successfully (and concurrently) for devices/profiles 1-5. device 1 | device 2 | device 3 | device 4 | device 5 ---------|---------|----------|----------|--------- ![image (4)](https://user-images.githubusercontent.com/38657976/171386361-a6d9bc10-1b70-4eff-b3b5-e74ee8aacc42.png) | ![image (3)](https://user-images.githubusercontent.com/38657976/171386461-280267dc-e2cb-4f5d-9774-676c54e70775.png) | ![image (4)](https://user-images.githubusercontent.com/38657976/171386537-c1e2e3f3-e5f1-4813-94e9-eac9e581dc80.png) | ![image (5)](https://user-images.githubusercontent.com/38657976/171386596-1f6357b0-a2b5-4a00-8e05-fadc5944f870.png) | ![image (7)](https://user-images.githubusercontent.com/38657976/171387011-d57677f7-2aca-435d-a6b6-f9d472ace02e.png) Encounter: * https://github.com/brave/brave-browser/issues/22757

Security & privacy

DNS leak (ISP) - PASSED

1. connect to any region 2. load `https://browserleaks.com/dns` 3. confirm your local (ISP) DNS resolvers are **not** shown; they should be from the connected VPN region 4. disconnect from VPN 5. reload `https://browserleaks.com/dns` 6. confirm your **local** (ISP) DNS resolvers **_are_** shown BraveVPN DNS resolvers | local ISP resolvers ---------|--------- ![image](https://user-images.githubusercontent.com/38657976/171129061-18be89c0-06b7-470f-876f-379335cf3f9d.png) | ![image](https://user-images.githubusercontent.com/38657976/171129355-4177bc1b-ade3-49c6-af94-c26e05c57d14.png) Known issues: * https://github.com/brave/brave-browser/issues/22163

DNS-over-HTTP (DoH) - PASSED

1. connect to VPN 2. enable `DNS over HTTP` using any provider, via `brave://settings/security` 3. load `browserleaks.com/dns` 4. confirm the provider's resolvers are shown (NOT your local ISP's) `brave://settings/security` | `browserleaks.com/dns` ---------------------------|------------------------- ![image](https://user-images.githubusercontent.com/38657976/171155913-9e666409-2541-4c4d-8690-4ef7b93ccf12.png) | ![image](https://user-images.githubusercontent.com/38657976/171155978-4f7302cf-044c-4c24-ba14-cf4081dc8280.png)

TOR - PASSED

1. connect to VPN 2. open a `New Private window with Tor` 3. load `check.torproject.org` 4. ensure you see `Congratulations. This browser is configured to use Tor` ![image](https://user-images.githubusercontent.com/38657976/171158001-1004bfc8-277d-4eb6-9790-2897f0545b75.png)

Torrent (via WebTorrents support) - PASSED

1. run through the `Shared VPN-Setup Steps` section 2. disconnect from `BraveVPN` 3. load `https://ipleak.net/` 4. click on `Activate` under `Torrent Address detection` 5. click on `this Magnet Link` (it'll open in a new window) 6. reload the URL (to work around a bug) 7. click on `Start Torrent` 8. return to the `https://ipleak.net/` tab 9. confirm that you see your public (local ISP) IP address 10. connect to `BraveVPN` via your preferred method (flyout menu, button toggle, macOS system bar (top), and `Network` control panel in `System Preferences`) 11. `shift` + `reload` the page (to purge cache) <------ IMPORTANT 12. repeat steps 4-8 13. confirm you now see the appropriate VPN IP address (for your region) 14. switch to another region (for bonus points) `step 9` - `AT&T ISP` | `step 13` - `Singapore)` | `step 14` - `UK` -------|--------|--------------- ![image](https://user-images.githubusercontent.com/38657976/171179373-9345485f-b7ba-4a8e-bf25-71b383a6ca57.png) | ![image](https://user-images.githubusercontent.com/38657976/171179916-63a01a0e-ad8b-4be5-9957-da0946baa03c.png) | ![image](https://user-images.githubusercontent.com/38657976/171180119-0b1fc9ce-0076-4483-adeb-019d34631b81.png)

WebRTC - PASSED

1. connect to `BraveVPN` 2. load `https://browserleaks.com/webrtc` 3. iterate through the values for `WebRTC IP handling policy` 4. note the absence/presence and value of both local + public IP addresses, as reflected by their respective setting #### `VPN connected` `Default` | `Default public and private interfaces` | `Default public interface only` | `Disable non-proxied UDP` ----------|---------------------------------------|--------------------------------|--------------------------- ![image](https://user-images.githubusercontent.com/38657976/171159124-c2f23981-3df6-4814-8bfe-7f91cbc77b44.png) | ![image](https://user-images.githubusercontent.com/38657976/171159209-463f4cc5-fc38-46e9-921f-ce9891e73aee.png) | ![image](https://user-images.githubusercontent.com/38657976/171159315-537a4e2b-c473-4eed-b37f-0d71934d4b86.png) | ![image](https://user-images.githubusercontent.com/38657976/171159399-6b46e513-916d-49ed-8b51-14de47c3af45.png) #### `Disconnected from VPN` `Default` | `Default public and private interfaces` | `Default public interface only` | `Disable non-proxied UDP` ----------|---------------------------------------|--------------------------------|--------------------------- ![image](https://user-images.githubusercontent.com/38657976/171159541-c6e42633-a470-4716-812a-e6ac61453072.png) | ![image](https://user-images.githubusercontent.com/38657976/171159629-74afb911-fb3a-410f-97b1-53f0580bc92a.png) | ![image](https://user-images.githubusercontent.com/38657976/171159698-36485e71-e1bb-46f6-b1e5-73129bfdd756.png) | ![image](https://user-images.githubusercontent.com/38657976/171159764-29177d6d-aa45-47e1-a3ad-5aa3e593179c.png)

Keyboard accessibility - FAILED

1. set up VPN 2. click on the `VPN` button on the browser toolbar 3. click on the `Settings` (gear) icon 4. press `tab` to forward-cycle through elements 18. press `shift` + `tab` to backwards-cycle through the dialog links 19. confirm you can press `spacebar` and `return` to select ("click") links Encountered: * https://github.com/brave/brave-browser/issues/22631 * https://github.com/brave/brave-browser/issues/22632 * https://github.com/brave/brave-browser/issues/22732
MadhaviSeelam commented 2 years ago

Verification Complete using

Brave | 1.39.101 Chromium: 101.0.4951.64 (Official Build) beta (64-bit)
-- | --
Revision | d1daa9897e1bc1d507d6be8f2346e377e5505905-refs/branch-heads/4951@{#1208}
OS | Windows 11 Version 21H2 (Build 22000.613)

Filed bugs:

22975

23017

23018

23119

Initial Setup

Shared VPN-Setup Steps - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB` **Confirmed I was able to purchase and use a Brave VPN subscription, from end-to-end, defaulting to USA (West):** Ex1|Ex2|Ex3|Ex4 ---|---|---|--- Flags|VPN purchase1|ss5a|ss6a Suggested: set `Show VPN status in menu bar` via Manage Notifications->Settings->BraveVPN VPN Connection is visible in `Settings > Networking & Internet > VPN` Settings

Between-test cleanup

BraveVPN OS-config removal - PASSED

In-between clean-profile tests, you should remove the Manage Notifications->Settings->BraveVPN Ex1|Ex2 ---|--- profile removed 1|profile removed 2
Brave | 1.40.70 Chromium: 102.0.5005.50 (Official Build) beta (64-bit)
-- | --
Revision | f6e2cf8f59ec714bdcff8499991d55898875f287-refs/branch-heads/5005@{#648}
OS | Windows 11 Version 21H2 (Build 22000.675)

UI

Theme support - PASSED

1. open `brave://settings/manageProfile` 2. change your theme color 3. verify Brave doesn't crash 4. verify the VPN button adjusts its colors (background, text) accordingly Ex1|Ex2|Ex3|Ex4|Ex5 ---|---|---|---|--- SS1|SS2|SS3|SS4|SS5

Dark & Light Brave colors support - PASSED

1. visit `brave://settings/appearance` 2. choose the opposite color (if `Light`, switch to `Dark`) 3. examine the various VPN UI elements and ensure they are legible 4. switch back to the opposite color, and do the same `Dark` toggle | location-select | button dialog | contact technical support | (context-click) button dialog | edit your payment ---------|----------|---------|---------|----------|--------- Toggle|LocationSelect|dialog|Tech support|context menu|image `Light` toggle | location-select | button dialog | contact technical support | (context-click) button dialog | edit your payment ---------|----------|---------|---------|----------|--------- Toggle|LocationSelect|buttondialog|Tech support|context|image

brave://settings/appearance

VPN button - PASSED

* open `brave://settings/appearance` * confirm `Show VPN button` is toggled to `ON` by default * toggle it to `OFF` * confirm the `VPN` button disappears from the toolbar in real-time * restart Brave; confirm it's still gone * toggle it back to `ON` * confirm it appears and remains, after restart Toggle_ON|Toggle_OFF|Toggle_ON_Restart ---|---|--- Toggle ON|Toggle Off|Toggle_ON_Restart

VPN button and dialog links - PASSED

* Hide VPN button in toolbar - hides the icon; re-enable via `brave://settings/appearance` - see `Settings` section, below * Send Feedback goes to `https://support.brave.com/hc/en-us` * About Brave VPN goes to `https://brave.com/firewall-vpn/` * Manage my plan goes to `https://account.brave.software/` Hide VPN_toolbar|VPN Hidden|Send Feeback|About Brave|Manage plan ---|---|---|---|--- Hide VPN|VPN hidden|send feedback|about brave|Mange Plan

Hamburger flyout menu - PASSED

Click on the "hamburger" menu icon on the browser toolbar hamburger * Hide VPN button in toolbar - hides the VPN icon * Show VPN button in toolbar - shows the VPN icon * Send Feedback goes to `https://support.brave.com/hc/en-us` * About Brave VPN goes to `https://brave.com/firewall-vpn/` * Manage my plan goes to `https://account.brave.software/` `Brave VPN` toggle, `Connected` | `Brave VPN` toggle, `Disconnected` | `Hide VPN button in toolbar`, 1 | `Hide VPN button in toolbar`, 2 | `Send feedback` | `About Brave VPN` | `Manage my plan` ------------------|-----------------|--------------|------------------|---------------------|--------------|----------- VPN Connected|VPN Disconnected|Hide vpn1|Hide vpn2|bravehelp|<Hamburger-about brave|manage my plan

Brave Premium login

Purchasing VPN with a new account - PASSED

Steps: Followed steps from `Shared VPN-Setup Steps` (`https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`), and confirmed able to use VPN with a fresh account. VPN purchase1

Log in to an existing account which has VPN - PASSED

Steps: Modified "Shared VPN-Setup Steps" (`https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`) to use account created above on a new browser profile. Ex1|Ex2|Ex3 ---|---|--- Account loaded|account loaded1|account loaded2
Brave | 1.40.75 Chromium: 102.0.5005.61 (Official Build) beta (64-bit)
-- | --
Revision | 0e59bcc00cc4985ce39ad31c150065f159d95ad3-refs/branch-heads/5005@{#819}
OS | Windows 11 Version 21H2 (Build 22000.675)

Post-purchase UX

Default region selection - PASSED

Encountered same issue with Australian region #https://github.com/brave/brave-browser/issues/22882

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. You should see a default region picked which is nearest to your location (based on time zone) 4. Set your OS time zone to be in another region (like `Australia`) 5. Create another fresh profile and get set up with VPN 6. Click `VPN` button 7. Verify it shows the region close to where you picked (ex: `Australia`) default region| IP/location details| Australia timezone |IP/location details|auto-detected region ---|---|---|---|--- image1|image2|image1|image1|image

Connecting/disconnecting - PASSED

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. Enable VPN 4. Verify that Brave's VPN button lights up Green when connected 5. Visit `https://www.ip2location.com/demo` 6. The website should show you as being in the VPN region now 🎉 7. Check `hamburger menu` > `Brave VPN` and ensure toggle there shows as `connected` 8. Click the toggle (`disconnect`) in `hamburger menu` > `Brave VPN` 9. Verify that Brave's VPN button shows as gray when not connected 10. Visit `https://www.ip2location.com/demo` 11. You should be back in your regular region now - my regular region returned Ex1|Ex2|Ex3 ---|---|--- ss1|ss2|ss3 NOTE: this test is good, but basic, and connecting/reconnecting issues will (still) be further tested after this verification. Additionally, alternated the above `Brave VPN` connection-toggle method with: * flyout menu * `Taskbar` >>Click Wifi >>VPN>>BraveVPN>>Connect/Disconnect * Settings>>Network&internet>>VPN>>BraveVPN>>Connect/Disconnect

Changing regions - PASSED

1. Complete the steps under `Brave Premium login > Login to an existing account which has VPN` 2. Click the `VPN` button (top right, next to hamburger button) 3. You should see the default region with a > arrow. Click that to show regions 4. Region list should show. The choices listed are coming from Guardian VPN. 5. Choose a different region and connect 6. Verify you can connect; confirm you're in that region using `whatismyipaddress.com` 7. Disconnect from VPN 8. Choose a different region and connect 9. Verify connect works; confirm you're in that region using `whatismyipaddress.com` 10. Without disconnecting, choose a different region and connect 11. Verify that VPN disconnects and reconnects; confirm you're in that region using `whatismyipaddress.com` Step 3 auto-detected region | Step 4 region list | Step 4 region list, part 2 | Step 6 region | Step 9 region | Step 11 region ----- | ----- | ----- | ----- | ----- | ----- image|image|image|image|image|image

OS integration/connectivity

Toggle VPN in operating system (with Brave open) - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, and then: 1. Confirm you can disconnect the Brave VPN via the toggle in the toolbar icon, after successfully setting it up 2. Close Brave 3. Go to OS's VPN section -->`Start`>>`Settings`>`Network&internet`>>`VPN` 4. Click on `Connect` in `BraveVPN` connection 5. Confirm the VPN button icon lights up green in the toolbar 6. Confirm you are connected to the VPN 7. Verified that Brave's VPN button shows as gray when not connected Step1|Step3|Step5|Step7|Step7a ---|---|---|---|--- image|image2|image|image|image

Toggle VPN in operating system (with Brave closed) - PASSED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, and then: 1. Confirm you can disconnect the Brave VPN via the toggle in the toolbar icon, after successfully setting it up 2. Close Brave 3. Go to OS's VPN section -->`Start`>>`Settings`>`Network&internet`>>`VPN` 4. Click on `Connect` in the `BraveVPN` connection 5. Load `ip2location.com/demo` using a browser that is not Brave (Safari, Chrome, FF, etc) 6. Verified correct region Step2|Step5|Step5a|Step6 ---|---|---|--- image1|image|image1|image3|

Creating a support ticket - SKIPPED

Per discussion with @stephendonner via https://bravesoftware.slack.com/archives/GAA4017R7/p1652193195321979?thread_ts=1652193018.128719&cid=GAA4017R7, skipping this as he has already verified on macOS and this is live. Stephen will add notes for macOS to https://github.com/brave/brave-browser/issues/18469 which covers this case as well.

Edge cases and error states

Cancel plan - UNIMPLEMENTED

See logged issue #22694

Edit payment - UNIMPLEMENTED

See logged issues #22694 and #22717

Expired credit card / credentials - FAILED

1. Complete the steps under `Brave Premium login` > `Purchasing VPN with a new account`, making sure to specify the _**current**_ month and year for the credit card's expiration date 2. confirm you can connect to your new `Brave VPN` account 3. open `Date & Time` in `System Preferences` and advance the OS date to the `1st` of _**next**_ month 4. connect to `Brave VPN` 5. confirm you get the `Edit your payment` dialog `card details` | `system clock` | `VPN-button dialog` ------------|--------------|------------ image|image|image Reproduced the issue #22972

Can't connect to server UI - Failed

1. Complete the steps under `Brave Premium login` > `Login to an existing account which has VPN` 7. Unplug your network cable (or disable Wi-Fi) 8. Click the `VPN` button (top right, next to hamburger button) 9. Click the toggle to `ENABLE` 10. You should see the error about not being able to connect 11. Plug network cable back in OR enable Wi-Fi (disabled in step 2) 12. Click the `Try again` button 13. It should work now Filed #https://github.com/brave/brave-browser/issues/23119 As the Brave VPN connection is taking longer, the work around is disconnect and reconnect Brave VPN Ex1|Ex2|Ex3|Ex4 ---|---|---|--- image|image|image|image

Limit of 5 VPN-connected devices/profile, on the same account (email address) - FAILED

Follow steps from `https://bravesoftware.slack.com/archives/CC5SA8CCB/p1651597201141019?thread_ts=1651597077.189229&cid=CC5SA8CCB`, using the same email address for each. Ensure you can use each VPN instance successfully (and concurrently) for devices/profiles 1-5. I was able to test only two physical devices when Iogged in with same account and it was successful. Device 1|Device 2 ---|--- image1|image1 so didn't see the issue https://github.com/brave/brave-browser/issues/22757 However, I have tested with browser profiles on desktop. Saw `Edit Payment modal` for 3rd profile when logged in with same email address. I am not sure how the VPN functionality should work for profiles so filed a bug https://github.com/brave/brave-browser/issues/22975

Security & privacy

DNS leak (ISP) - PASSED

1. connect to any region 2. load `https://browserleaks.com/dns` 3. confirm your local (ISP) DNS resolvers are **not** shown; they should be from the connected VPN region 4. disconnect from VPN 5. reload `https://browserleaks.com/dns` 7. confirm your **local** (ISP) DNS resolvers **_are_** shown BraveVPN DNS resolvers|local ISP resolvers ----|---- image|image

DNS-over-HTTP (DoH) - PASSED

1. connect to VPN 2. enable `DNS over HTTP` using any provider, via `brave://settings/security` 3. load `browserleaks.com/dns` 4. confirm the provider's resolvers are shown (NOT your local ISP's) `brave://settings/security` | `browserleaks.com/dns` ---------------------------|------------------------- image|image

TOR - PASSED

1. connect to VPN 2. open a `New Private window with Tor` 3. load `check.torproject.org` 4. ensure you see `Congratulations. This browser is configured to use Tor` image

Torrent (via WebTorrents support) - PASSED

1. run through the `Shared VPN-Setup Steps` section 2. disconnect from `BraveVPN` 3. load `https://ipleak.net/` 4. click on `Activate` under `Torrent Address detection` 5. click on `this Magnet Link` (it'll open in a new window) 6. reload the URL (to work around a bug) 8. click on `Start Torrent` 9. return to the `https://ipleak.net/` tab 10. confirm that you see your public (local ISP) IP address 11. connect to `BraveVPN` via your preferred method (flyout menu, button toggle, macOS system bar (top), and `Network` control panel in `System Preferences`) 12. `shift` + `reload` the page (to purge cache) <------ IMPORTANT 13. repeat steps 4-8 14. confirm you now see the appropriate VPN IP address (for your region) 15. switch to another region (for bonus points) `step 13` | `step 14` -------|-------- image1|image2

WebRTC - PASSED

1. connect to `BraveVPN` 2. load `https://browserleaks.com/webrtc` 3. iterate through the values for `WebRTC IP handling policy` 4. note the absence/presence and value of both local + public IP addresses, as reflected by their respective setting #### `VPN connected` `Default` | `Default public and private interfaces` | `Default public interface only` | `Disable non-proxied UDP` ----------|---------------------------------------|--------------------------------|--------------------------- image|image|image|image #### `Disconnected from VPN` `Default` | `Default public and private interfaces` | `Default public interface only` | `Disable non-proxied UDP` ----------|---------------------------------------|--------------------------------|--------------------------- image|image|image|image

Keyboard accessibility - FAILED

1. set up VPN 2. click on the `VPN` button on the browser toolbar 3. click on the `Settings` (gear) icon 4. press `tab` to forward-cycle through elements 18. press `shift` + `tab` to backwards-cycle through the dialog links 19. confirm you can press `spacebar` and `return` to select ("click") links Encountered already logged issues: * https://github.com/brave/brave-browser/issues/22631 * https://github.com/brave/brave-browser/issues/22632 * https://github.com/brave/brave-browser/issues/22732