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

BBS Migration integration test(s) #553

Closed
4 tasks done
dylan-smith opened this issue Aug 11, 2022 · 0 comments · Fixed by #696
Closed
4 tasks done

BBS Migration integration test(s) #553

dylan-smith opened this issue Aug 11, 2022 · 0 comments · Fixed by #696
Assignees

Comments

@dylan-smith
Copy link
Collaborator

dylan-smith commented Aug 11, 2022

We'll want some e2e tests that hit a real BBS environment and invoke the CLI the same way a customer would. Just like the ADO and GH tests, we'll want to have some code that "resets" all the data in the BBS environment to a known state, run the migrations, then check that the final state in github is what we expect.

We should probably do this against at least 3x different BBS environments, one with the latest version, one with the oldest version we support (5.14), and one running on a windows server.

Tasks

@dylan-smith dylan-smith self-assigned this Oct 17, 2022
@dylan-smith dylan-smith mentioned this issue Oct 24, 2022
5 tasks
dylan-smith added a commit that referenced this issue Nov 1, 2022
<!--
For the checkboxes below you must check each one to indicate that you
either did the relevant task, or considered it and decided there was
nothing that needed doing
-->

Stood up a BBS server in our shared Azure Subscription
(e2e-bbs-8-5-0-linux-2204.eastus.cloudapp.azure.com). It's running the
latest version of BBS (8.5.0) and Ubuntu 22.04.

Manually created 2 projects and 2 repos in BBS (in the future we may
automate this like we have for ADO/GH), and added a new integration test
to migrate BBS->GH.

Included asserts to check if the GH repo exists and is initialized.

The default SSH cert that Azure generates didn't seem to work when using
Ubuntu 22.04 (didn't work with our SSH.Net nuget library, but did work
when directly using SSH in a terminal). I found a [workaround in an
issue](sshnet/SSH.NET#825 (comment))
from the SSH.Net repo that I applied in this PR. I don't fully
understand exactly what it's doing, but it looks like it's updating the
signature on the key in-memory before using it. Whatever it's doing, it
makes keys that previously didn't work now work. So it seems like a good
thing to me.

Closes #553 

Future work:
- automate the creation of BBS test data (like we do for ADO/GH)
- Include downloading the migration logs (and asserting that they exist)
- Add BBS windows server (once we support SMB)
- Add AWS
- Add another BBS server with the oldest version we support (5.14 I
think)

Checklist
- [x] Did you write/update appropriate tests
- [x] Release notes updated (if appropriate)
- [x] Appropriate logging output
- [x] Issue linked
- [x] Docs updated (or issue created)

<!--
For docs we should review the docs at:

https://docs.github.com/en/early-access/github/migrating-with-github-enterprise-importer
and the README.md in this repo

If a doc update is required based on the changes in this PR, it is
sufficient to create an issue and link to it here. The doc update can be
made later/separately.

The process to update the docs can be found here:
https://github.com/github/docs-early-access#opening-prs

The markdown files are here: 

https://github.com/github/docs-early-access/tree/main/content/github/migrating-with-github-enterprise-importer
-->
dylan-smith added a commit that referenced this issue Nov 2, 2022
<!--
For the checkboxes below you must check each one to indicate that you
either did the relevant task, or considered it and decided there was
nothing that needed doing
-->

Forgot to update integration-tests.yml in the [BBS integration tests
PR](#696).

Issue #553 

- [x] Did you write/update appropriate tests
- [x] Release notes updated (if appropriate)
- [x] Appropriate logging output
- [x] Issue linked
- [x] Docs updated (or issue created)

<!--
For docs we should review the docs at:

https://docs.github.com/en/early-access/github/migrating-with-github-enterprise-importer
and the README.md in this repo

If a doc update is required based on the changes in this PR, it is
sufficient to create an issue and link to it here. The doc update can be
made later/separately.

The process to update the docs can be found here:
https://github.com/github/docs-early-access#opening-prs

The markdown files are here: 

https://github.com/github/docs-early-access/tree/main/content/github/migrating-with-github-enterprise-importer
-->
@dylan-smith dylan-smith reopened this Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant