def test_boot_storage_rational(self, deckhand_ingester, drydock_state,
                                   input_files):

        input_file = input_files.join("boot_storage_rational.yaml")
        design_ref = "file://%s" % str(input_file)

        orch = Orchestrator(state_manager=drydock_state,
                            ingester=deckhand_ingester)

        status, site_design = Orchestrator.get_effective_site(orch, design_ref)

        message_list = Validator.boot_storage_rational(site_design)
        msg = message_list[0].to_dict()

        assert msg.get('message') == 'Boot Storage'
        assert msg.get('error') is False
        assert len(message_list) == 1
    def test_invalid_boot_storage_small(self, deckhand_ingester, drydock_state,
                                        input_files):

        input_file = input_files.join("invalid_boot_storage_small.yaml")
        design_ref = "file://%s" % str(input_file)

        orch = Orchestrator(state_manager=drydock_state,
                            ingester=deckhand_ingester)

        status, site_design = Orchestrator.get_effective_site(orch, design_ref)

        message_list = Validator.boot_storage_rational(site_design)

        regex = re.compile(
            'Boot Storage Error: .+ volume must be > .+GB on BaremetalNode .+')

        for msg in message_list:
            msg = msg.to_dict()
            assert regex.match(msg.get('message')) is not None
            assert msg.get('error')

        assert len(message_list) == 4