Added listMigrationTargetsWithChannels endpoint to return the target channels as well (jsc#SUMA-320)#11463
Conversation
|
👋 Hello! Thanks for contributing to our project. You can see the progress at the end of this page and at https://github.com/uyuni-project/uyuni/pull/11463/checks If you are unsure the failing tests are related to your code, you can check the "reference jobs". These are jobs that run on a scheduled time with code from master. If they fail for the same reason as your build, it means the tests or the infrastructure are broken. If they do not fail, but yours do, it means it is related to your code. Reference tests: KNOWN ISSUES Sometimes the build can fail when pulling new jar files from download.opensuse.org . This is a known limitation. Given this happens rarely, when it does, all you need to do is rerun the test. Sorry for the inconvenience. For more tips on troubleshooting, see the troubleshooting guide. Happy hacking! |
72f5029 to
e7c4ece
Compare
| SUSEProductExtension e3 = new SUSEProductExtension( | ||
| targetBaseProduct, targetAddonProduct, targetBaseProduct, false); | ||
| TestUtils.saveAndReload(e2); | ||
| TestUtils.saveAndReload(e3); |
There was a problem hiding this comment.
If you're not reusing e2 and e3, TestUtils.saveAndFlush is sufficient. Otherwise you have to do e2 = TestUtils.saveAndReload(e2);
| } | ||
|
|
||
| @Test | ||
| public void testListMigrationTargetsWithChannels() throws Exception { |
There was a problem hiding this comment.
This test is quite long: I would split it in one or more setup phases to better highlight what you are going to test
| SUSEProduct targetBaseProduct = SUSEProductTestUtils.createTestSUSEProduct(family); | ||
| Channel targetBaseChannel = SUSEProductTestUtils.createBaseChannelForBaseProduct(targetBaseProduct, admin); | ||
| targetBaseChannel.setChannelArch(ChannelFactory.findArchByLabel("channel-x86_64")); | ||
| TestUtils.saveAndReload(targetBaseChannel); |
There was a problem hiding this comment.
Whether use TestUtils.saveAndFlush, or do targetBaseChannel = TestUtils.saveAndReload(targetBaseChannel);
| sourceAddonProduct, sourceBaseChannel, admin); | ||
| SUSEProductExtension e = new SUSEProductExtension( | ||
| sourceBaseProduct, sourceAddonProduct, sourceBaseProduct, false); | ||
|
|
There was a problem hiding this comment.
Variable "e" is never used and SonarCloud is complaining about it.
I agree that writing a line like new SUSEProductExtension( sourceAddonProduct, sourceBaseProduct, false); just because the creation of such object has a side effect makes the intent un-understantable.
So I suggest you make a "not strictly necessary" check afterwards, something like assertNotNull(e); so SonarCloud does not complain and the assignment makes sense
e7c4ece to
fe011a8
Compare
What does this PR change?
Added listMigrationTargetsWithChannels endpoint to return the target channels as well
It would return something like this
[ { "ident": "[1894,1905,1901,1948,2066]", "friendly": "[base: SUSE Linux Enterprise Server 15 SP7 aarch64, addon: Server Applications Module 15 SP7 aarch64, Basesystem Module 15 SP7 aarch64, Python 3 Module 15 SP7 aarch64, Systems Management Module 15 SP7 aarch64]" "channel_options": [ { "base_channel_name": "SLE-Product-SLES15-SP7-Pool for aarch64", "base_channel_label": "sle-product-sles15-sp7-pool-aarch64", "child_channels": [ { "name": "SLE-Module-Basesystem15-SP7-Pool for aarch64", "label": "sle-module-basesystem15-sp7-pool-aarch64", "mandatory": true }, { "name": "SLE-Module-Basesystem15-SP7-Updates for aarch64", "label": "sle-module-basesystem15-sp7-updates-aarch64", "mandatory": true }, { "name": "SLE-Module-Python3-15-SP7-Pool for aarch64", "label": "sle-module-python3-15-sp7-pool-aarch64", "mandatory": true }, { "name": "SLE-Module-Python3-15-SP7-Updates for aarch64", "label": "sle-module-python3-15-sp7-updates-aarch64", "mandatory": true }, { "name": "SLE-Module-Server-Applications15-SP7-Pool for aarch64", "label": "sle-module-server-applications15-sp7-pool-aarch64", "mandatory": true }, { "name": "SLE-Module-Server-Applications15-SP7-Updates for aarch64", "label": "sle-module-server-applications15-sp7-updates-aarch64", "mandatory": true }, { "name": "SLE-Module-Systems-Management-15-SP7-Pool for aarch64", "label": "sle-module-systems-management-15-sp7-pool-aarch64", "mandatory": true }, { "name": "SLE-Module-Systems-Management-15-SP7-Updates for aarch64", "label": "sle-module-systems-management-15-sp7-updates-aarch64", "mandatory": true }, { "name": "SLE-Product-SLES15-SP7-Updates for aarch64", "label": "sle-product-sles15-sp7-updates-aarch64", "mandatory": true }, { "name": "SLE15-SP7-Installer-Updates for aarch64", "label": "sle15-sp7-installer-updates-aarch64", "mandatory": false } ] }, { "base_channel_name": "clm-test-SLE-Product-SLES15-SP7-Pool for aarch64", "base_channel_label": "clm-test-sle-product-sles15-sp7-pool-aarch64", "child_channels": [ { "name": "clm-test-SLE-Module-Basesystem15-SP7-Pool for aarch64", "label": "clm-test-sle-module-basesystem15-sp7-pool-aarch64", "mandatory": true }, { "name": "clm-test-SLE-Module-Basesystem15-SP7-Updates for aarch64", "label": "clm-test-sle-module-basesystem15-sp7-updates-aarch64", "mandatory": true }, { "name": "clm-test-SLE-Module-Python3-15-SP7-Pool for aarch64", "label": "clm-test-sle-module-python3-15-sp7-pool-aarch64", "mandatory": true }, { "name": "clm-test-SLE-Module-Python3-15-SP7-Updates for aarch64", "label": "clm-test-sle-module-python3-15-sp7-updates-aarch64", "mandatory": true }, { "name": "clm-test-SLE-Module-Server-Applications15-SP7-Pool for aarch64", "label": "clm-test-sle-module-server-applications15-sp7-pool-aarch64", "mandatory": true }, { "name": "clm-test-SLE-Module-Server-Applications15-SP7-Updates for aarch64", "label": "clm-test-sle-module-server-applications15-sp7-updates-aarch64", "mandatory": true }, { "name": "clm-test-SLE-Module-Systems-Management-15-SP7-Pool for aarch64", "label": "clm-test-sle-module-systems-management-15-sp7-pool-aarch64", "mandatory": true }, { "name": "clm-test-SLE-Module-Systems-Management-15-SP7-Updates for aarch64", "label": "clm-test-sle-module-systems-management-15-sp7-updates-aarch64", "mandatory": true }, { "name": "clm-test-SLE-Product-SLES15-SP7-Updates for aarch64", "label": "clm-test-sle-product-sles15-sp7-updates-aarch64", "mandatory": true }, { "name": "clm-test-SLE15-SP7-Installer-Updates for aarch64", "label": "clm-test-sle15-sp7-installer-updates-aarch64", "mandatory": false } ] } ], } ]Codespace
Check if you already have a running container clicking on
GUI diff
No difference.
Documentation
No documentation needed: add explanation. This can't be used if there is a GUI diff
No documentation needed: only internal and user invisible changes
Documentation issue was created: Link for SUSE Multi-Linux Manager contributors, Link for community contributors.
API documentation added: please review the Wiki page Writing Documentation for the API if you have any changes to API documentation.
(OPTIONAL) Documentation PR
DONE
Test coverage
ℹ️ If a major new functionality is added, it is strongly recommended that tests for the new functionality are added to the Cucumber test suite
No tests: add explanation
No tests: already covered
Unit tests were added
Cucumber tests were added
DONE
Links
Issue(s): #
Port(s): # add downstream PR(s), if any
Changelogs
Make sure the changelogs entries you are adding are compliant with https://github.com/uyuni-project/uyuni/wiki/Contributing#changelogs and https://github.com/uyuni-project/uyuni/wiki/Contributing#uyuni-projectuyuni-repository
If you don't need a changelog check, please mark this checkbox:
If you uncheck the checkbox after the PR is created, you will need to re-run
changelog_test(see below)Re-run a test
If you need to re-run a test, please mark the related checkbox, it will be unchecked automatically once it has re-run:
Before you merge
Check How to branch and merge properly!