def test_update_all(self): fixture_final_alerts = """ <alerts> <alert id="my-alert" path="/another/one"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-another" name="another" value="val" /> <nvpair id="my-alert-instance_attributes-my-attr" name="my-attr" value="its_val" /> </instance_attributes> <meta_attributes id="my-alert-meta_attributes"> <nvpair id="my-alert-meta_attributes-meta1" name="meta1" value="val2" /> </meta_attributes> </alert> </alerts> """ (self.config.runner.cib.load( optional_in_conf=self.fixture_initial_alerts).env.push_cib( replace={"./configuration/alerts": fixture_final_alerts})) cmd_alert.update_alert(self.env_assist.get_env(), "my-alert", "/another/one", { "instance": "", "my-attr": "its_val" }, {"meta1": "val2"}, "")
def test_update_instance_attribute(self): (self.config .runner.cib.load(optional_in_conf=self.fixture_initial_alerts) .env.push_cib( replace={ './configuration/alerts/alert[@id="my-alert"]/' 'instance_attributes/nvpair[@name="instance"]' : """ <nvpair id="my-alert-instance_attributes-instance" name="instance" value="new_val" /> """ } ) ) cmd_alert.update_alert( self.env_assist.get_env(), "my-alert", None, {"instance": "new_val"}, {}, None )
def test_update_instance_attribute(self): self.mock_env._push_cib_xml( """ <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="my-alert" path="/my/path" description="my description"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-instance" name="instance" value="value" /> </instance_attributes> </alert> </alerts> </configuration> </cib> """ ) cmd_alert.update_alert( self.mock_env, "my-alert", None, {"instance": "new_val"}, {}, None ) assert_xml_equal( """ <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="my-alert" path="/my/path" description="my description"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-instance" name="instance" value="new_val" /> </instance_attributes> </alert> </alerts> </configuration> </cib> """, self.mock_env._get_cib_xml() )
def test_alert_doesnt_exist(self): (self.config .runner.cib.load( optional_in_conf=""" <alerts> <alert id="alert" path="path"/> </alerts> """ ) ) self.env_assist.assert_raise_library_error( lambda: cmd_alert.update_alert( self.env_assist.get_env(), "unknown", "test", {}, {}, None ), [ ( Severities.ERROR, report_codes.ID_NOT_FOUND, { "context_type": "alerts", "context_id": "", "id": "unknown", "expected_types": ["alert"], }, None ), ], )
def test_update_all(self): fixture_final_alerts = """ <alerts> <alert id="my-alert" path="/another/one"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-another" name="another" value="val" /> <nvpair id="my-alert-instance_attributes-my-attr" name="my-attr" value="its_val" /> </instance_attributes> <meta_attributes id="my-alert-meta_attributes"> <nvpair id="my-alert-meta_attributes-meta1" name="meta1" value="val2" /> </meta_attributes> </alert> </alerts> """ (self.config .runner.cib.load(optional_in_conf=self.fixture_initial_alerts) .env.push_cib( replace={"./configuration/alerts": fixture_final_alerts} ) ) cmd_alert.update_alert( self.env_assist.get_env(), "my-alert", "/another/one", { "instance": "", "my-attr": "its_val" }, {"meta1": "val2"}, "" )
def test_update_instance_attribute(self): self.mock_env._push_cib_xml(""" <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="my-alert" path="/my/path" description="my description"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-instance" name="instance" value="value" /> </instance_attributes> </alert> </alerts> </configuration> </cib> """) cmd_alert.update_alert(self.mock_env, "my-alert", None, {"instance": "new_val"}, {}, None) assert_xml_equal( """ <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="my-alert" path="/my/path" description="my description"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-instance" name="instance" value="new_val" /> </instance_attributes> </alert> </alerts> </configuration> </cib> """, self.mock_env._get_cib_xml())
def test_alert_doesnt_exist(self): self.mock_env._push_cib_xml(""" <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="alert" path="path"/> </alerts> </configuration> </cib> """) assert_raise_library_error( lambda: cmd_alert.update_alert(self.mock_env, "unknown", "test", { }, {}, None), (Severities.ERROR, report_codes.ID_NOT_FOUND, { "id": "unknown" }))
def test_alert_doesnt_exist(self): self.mock_env._push_cib_xml( """ <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="alert" path="path"/> </alerts> </configuration> </cib> """ ) assert_raise_library_error( lambda: cmd_alert.update_alert( self.mock_env, "unknown", "test", {}, {}, None ), ( Severities.ERROR, report_codes.CIB_ALERT_NOT_FOUND, {"alert": "unknown"} ) )
def test_update_all(self): self.mock_env._push_cib_xml(""" <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="my-alert" path="/my/path" description="my description"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-instance" name="instance" value="value" /> <nvpair id="my-alert-instance_attributes-another" name="another" value="val" /> </instance_attributes> <meta_attributes id="my-alert-meta_attributes"> <nvpair id="my-alert-meta_attributes-meta1" name="meta1" value="val1" /> </meta_attributes> </alert> </alerts> </configuration> </cib> """) cmd_alert.update_alert(self.mock_env, "my-alert", "/another/one", { "instance": "", "my-attr": "its_val" }, {"meta1": "val2"}, "") assert_xml_equal( """ <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="my-alert" path="/another/one"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-another" name="another" value="val" /> <nvpair id="my-alert-instance_attributes-my-attr" name="my-attr" value="its_val" /> </instance_attributes> <meta_attributes id="my-alert-meta_attributes"> <nvpair id="my-alert-meta_attributes-meta1" name="meta1" value="val2" /> </meta_attributes> </alert> </alerts> </configuration> </cib> """, self.mock_env._get_cib_xml())
def test_update_all(self): self.mock_env._push_cib_xml( """ <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="my-alert" path="/my/path" description="my description"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-instance" name="instance" value="value" /> <nvpair id="my-alert-instance_attributes-another" name="another" value="val" /> </instance_attributes> <meta_attributes id="my-alert-meta_attributes"> <nvpair id="my-alert-meta_attributes-meta1" name="meta1" value="val1" /> </meta_attributes> </alert> </alerts> </configuration> </cib> """ ) cmd_alert.update_alert( self.mock_env, "my-alert", "/another/one", { "instance": "", "my-attr": "its_val" }, {"meta1": "val2"}, "" ) assert_xml_equal( """ <cib validate-with="pacemaker-2.5"> <configuration> <alerts> <alert id="my-alert" path="/another/one"> <instance_attributes id="my-alert-instance_attributes"> <nvpair id="my-alert-instance_attributes-another" name="another" value="val" /> <nvpair id="my-alert-instance_attributes-my-attr" name="my-attr" value="its_val" /> </instance_attributes> <meta_attributes id="my-alert-meta_attributes"> <nvpair id="my-alert-meta_attributes-meta1" name="meta1" value="val2" /> </meta_attributes> </alert> </alerts> </configuration> </cib> """, self.mock_env._get_cib_xml() )