Bug #18233

SmartProxyIntegrationTest clears pagelets manager, causes subsequent failures

Added by Dominic Cleal 12 months ago. Updated 12 months ago.

Status:Closed
Priority:Normal
Assigned To:Dominic Cleal
Category:Tests
Target version:-
Difficulty: Bugzilla link:
Found in release: Pull request:https://github.com/theforeman/foreman/pull/4226
Story points-
Velocity based estimate-
Release1.15.0Release relationshipAuto

Description

#15405 added some pagelets into the application initialisation and updated PageletsHelperTest to retain previous state when testing the Pagelets::Manager class, however it didn't update SmartProxyIntegrationTest which performs very similar modifications and uses Pagelets::Manager.clear.

Running SmartProxyIntegrationTest and HostJSTest in that order will produce test failures, e.g.

SmartProxyIntegrationTest#test_0003_edit page = 11.91 s = .
SmartProxyIntegrationTest#test_0004_show page = 0.22 s = .
SmartProxyIntegrationTest#test_0001_index page = 0.29 s = .
SmartProxyIntegrationTest#test_0002_create new page = 0.36 s = .
SmartProxyIntegrationTest::pagelets on show page#test_0001_show page passes subject into pagelets = 0.38 s = .
HostJSTest::edit page#test_0003_correctly override global params = 2.69 s = .
HostJSTest::edit page#test_0001_class parameters and overrides are displayed correctly for strings = 2.44 s = .
HostJSTest::edit page#test_0002_can override puppetclass lookup values = 0.80 s = .
HostJSTest::create new host page#test_0001_default primary interface is in the overview table = 1.34 s = .
HostJSTest::create new host page#test_0002_choosing a hostgroup overrides other host attributes = 31.37 s = E
HostJSTest::create new host page#test_0004_sets fields to "inherit" when hostgroup is selected = 31.00 s = E
HostJSTest::create new host page#test_0003_saves correct values for inherited fields without hostgroup = 30.89 s = E
HostJSTest::create new host page#test_0005_setting host group updates parameters tab = 1.22 s = .
HostJSTest::hosts index multiple actions#test_0001_show action buttons = 1.27 s = .
HostJSTest::edit page#test_0001_fields are not inherited on edit = 30.92 s = E
HostJSTest::edit page#test_0003_class parameters and overrides are displayed correctly for booleans = 1.62 s = .
HostJSTest::edit page#test_0004_changing host group updates parameters tab = 1.29 s = .
HostJSTest::edit page#test_0002_choosing a hostgroup does not override other host attributes = 31.43 s = E
HostJSTest::NIC modal window::editing interfaces#test_0002_ok button updates overview table = 1.54 s = .
HostJSTest::NIC modal window::editing interfaces#test_0001_click on edit opens modal = 1.45 s = .
HostJSTest::NIC modal window::adding interfaces#test_0001_click on add opens modal = 1.48 s = .
HostJSTest::NIC modal window::adding interfaces#test_0003_setting primary updates host name = 32.24 s = .
HostJSTest::NIC modal window::adding interfaces#test_0004_selecting domain updates subnet list = 31.75 s = .
HostJSTest::NIC modal window::adding interfaces#test_0002_ok button adds new interface = 1.55 s = .
HostJSTest::NIC modal window::adding interfaces#test_0005_selecting domain updates puppetclass parameters = 2.00 s = .
HostJSTest::NIC modal window::adding interfaces#test_0006_selecting type updates interface fields = 1.53 s = .
HostJSTest::NIC modal window::switching flags from the overview table#test_0001_switch primary = 1.89 s = .
HostJSTest::NIC modal window::switching flags from the overview table#test_0002_switch provisioning = 1.91 s = .
HostJSTest::NIC modal window::removing interfaces#test_0001_remove interface = 1.96 s = .
HostJSTest::Puppet Classes tab::has inherited Puppetclasses#test_0001_it mentions the hostgroup by name in the tooltip = 31.01 s = E
HostJSTest::Puppet Classes tab::has inherited Puppetclasses#test_0002_it shows a header mentioning the hostgroup inherited from = 31.18 s = E

Finished in 757.815452s, 0.0409 runs/s, 0.1478 assertions/s.

  1) Error:
HostJSTest::create new host page#test_0002_choosing a hostgroup overrides other host attributes:
Capybara::ElementNotFound: Unable to find css "#host_environment_id + .input-group-btn .btn" 
    test/integration/shared/host_finders.rb:42:in `click_on_inherit'
    test/integration/host_js_test.rb:135:in `block (2 levels) in <class:HostJSTest>'

  2) Error:
HostJSTest::create new host page#test_0004_sets fields to "inherit" when hostgroup is selected:
Capybara::ElementNotFound: Unable to find css "#s2id_host_environment_id" 
    test/integration_test_helper.rb:87:in `select2'
    test/integration/host_js_test.rb:190:in `block (2 levels) in <class:HostJSTest>'

[..]

  7) Error:
HostJSTest::Puppet Classes tab::has inherited Puppetclasses#test_0002_it shows a header mentioning the hostgroup inherited from:
Capybara::ElementNotFound: Unable to find link "Puppet Classes" with href "#puppet_klasses" 
    test/integration/host_js_test.rb:549:in `block (3 levels) in <class:HostJSTest>'

Related issues

Related to Foreman - Refactor #15405: Move puppet related helpers to a separate helper class. Closed 06/14/2016
Related to Katello - Bug #18360: db:migrate fails with wrong number of arguments (1 for 0)... Closed 02/01/2017

Associated revisions

Revision 36483d66
Added by Dominic Cleal 12 months ago

fixes #18233, #18235 - isolate pagelets state between tests

Moves pagelets state into instances of Pagelets::Manager with clearer
dup semantics, and allows the instance to be backed up and restored
around tests using the PageletsIsolation test case mixin.

History

#1 Updated by Dominic Cleal 12 months ago

  • Related to Refactor #15405: Move puppet related helpers to a separate helper class. added

#2 Updated by Dominic Cleal 12 months ago

  • Status changed from New to Assigned
  • Assigned To set to Dominic Cleal

#3 Updated by The Foreman Bot 12 months ago

  • Status changed from Assigned to Ready For Testing
  • Pull request https://github.com/theforeman/foreman/pull/4226 added

#4 Updated by Dominic Cleal 12 months ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

#5 Updated by Dominic Cleal 12 months ago

  • Release set to 1.15.0

#6 Updated by Justin Sherrill 12 months ago

  • Related to Bug #18360: db:migrate fails with wrong number of arguments (1 for 0) due to pagelets change added

Also available in: Atom PDF