Project

General

Profile

Bug #15134

Intermittent HostJSTest::NIC modal window::adding interfaces.test_0003_setting primary updates host name failure

Added by Dominic Cleal about 4 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Tests
Target version:
Difficulty:
Triaged:
Bugzilla link:
Fixed in Releases:
Found in Releases:

Description

Tests fail intermittently on develop with:

HostJSTest::NIC modal window::adding interfaces.test_0003_setting primary updates host name (from HostJSTest__NIC modal window__adding interfaces) 
Failed assertion, no message given. (Minitest::Assertion)
/var/lib/workspace/workspace/test_develop/database/postgresql/ruby/2.3/slave/fast/test/integration/host_js_test.rb:396    

(after 33 seconds.)

09:53:27 HostJSTest::edit page#test_0001_fields are not inherited on edit = 3.11 s = .
09:53:30 HostJSTest::NIC modal window::editing interfaces#test_0001_click on edit opens modal = 2.90 s = .
09:53:33 HostJSTest::NIC modal window::editing interfaces#test_0002_ok button updates overview table = 3.14 s = .
09:53:36 HostJSTest::NIC modal window::adding interfaces#test_0001_click on add opens modal = 2.90 s = .
09:53:39 HostJSTest::NIC modal window::adding interfaces#test_0002_ok button adds new interface = 2.88 s = .
09:53:42 HostJSTest::NIC modal window::adding interfaces#test_0004_selecting domain updates subnet list = 3.29 s = .
09:54:16 HostJSTest::NIC modal window::adding interfaces#test_0003_setting primary updates host name = 33.61 s = F
09:54:33 HostJSTest::NIC modal window::adding interfaces#test_0005_selecting domain updates puppetclass parameters = 3.86 s = .
09:54:33 HostJSTest::NIC modal window::switching flags from the overview table#test_0001_switch primary = 3.51 s = .
09:54:33 HostJSTest::NIC modal window::switching flags from the overview table#test_0002_switch provisioning = 3.38 s = .
09:54:33 HostJSTest::NIC modal window::removing interfaces#test_0001_remove interface = 3.41 s = .
capybara-201607130851431355427659.png View capybara-201607130851431355427659.png 36.2 KB page when ajax is not finished Ivan Necas, 07/13/2016 09:08 AM
capybara-201607130851457933604013.png View capybara-201607130851457933604013.png 38 KB page when ajax is finished Ivan Necas, 07/13/2016 09:08 AM
Capybara 201607130851431355427659 Capybara 201607130851457933604013

Related issues

Related to Foreman - Bug #9138: Intermittent HostTest/NIC integration test failuresDuplicate2015-01-28

Associated revisions

Revision 72e9afe4 (diff)
Added by Ivan Necas about 4 years ago

Fixes #15134 - wait for ajax in interface test

Otherwise the form changes during the 'Ok' button click and causes
intermittent issues.

History

#1 Updated by Dominic Cleal about 4 years ago

  • Related to Bug #9138: Intermittent HostTest/NIC integration test failures added

#2 Updated by Dominic Cleal about 4 years ago

I added some debug (https://github.com/domcleal/foreman/commits/15134-test_nic) into save_interface_modal() and update_fqdn(), and after many runs it shows that host_name is correctly to 'name', but no domain is selected and so the FQDN isn't changed.

save_interface_modal(): saved hidden modal
save_interface_modal(): closed modal
save_interface_modal(): synced primary name
save_interface_modal(): updated interface table
update_fqdn(): name
update_fqdn(): 
update_fqdn(): 
update_fqdn(): [object Object] (hostFQDN, )
update_fqdn(): text set ()
update_fqdn(): [object Object] (hostFQDN, )
update_fqdn(): text set ()
save_interface_modal(): updated fqdn

#3 Updated by Ivan Necas about 4 years ago

I've debugged the issue with the approach described in http://projects.theforeman.org/issues/14340/ and noticed that the ajax call happnes
during the time of the failure. The problem happnes when the freeip call finishes at the time of clicking to the Ok button:

1. capybara calculates the position to click on
2. the ajax finishes, error message is shown, which causes the button to change the position
3. capybara clicks on the spot, where the button used to be, but misses it

The solution should be to put wait_for_ajax before button clicking

#4 Updated by The Foreman Bot about 4 years ago

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

#5 Updated by Ivan Necas about 4 years ago

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

#6 Updated by Dominic Cleal about 4 years ago

  • Legacy Backlogs Release (now unused) set to 160

Also available in: Atom PDF