From 0fd8e6448fe52e61a66b1bafdb72f79b12044009 Mon Sep 17 00:00:00 2001 From: Benoit Stahl Date: Sat, 21 Sep 2024 22:22:41 +0200 Subject: [PATCH 1/2] fix prompt not matching when the node is managed and master --- CHANGELOG.md | 1 + lib/oxidized/model/firewareos.rb | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 976087137..06c361262 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - container-image: use ubuntu-packages instead of gems in order to reduce container image size (@robertcheramy) ### Fixed +- fixed prompt for Watchguard FirewareOS not matching the regex when the node is managed and master (@benasse) - fixed prompt for vyos/vyatta to allow logins with non-priviliged accounts. Fixes #3111 (@h-lopez) - fixed power consumption included in ArubaOS-CX diffs starting with FL.10.13.xxx. Fixes #3142 (@terratalpi) - fixed oxidized-web getting "version not found" when fetching a version from git and no group is defined. Fixes #2222 (@robertcheramy) diff --git a/lib/oxidized/model/firewareos.rb b/lib/oxidized/model/firewareos.rb index c2a9e26c4..206e87f4a 100644 --- a/lib/oxidized/model/firewareos.rb +++ b/lib/oxidized/model/firewareos.rb @@ -1,7 +1,16 @@ class FirewareOS < Oxidized::Model using Refinements - prompt /^\[?\w*\]?\w*?(<[\w-]*>)?(#|>)\s*$/ + # matched prompts: + # [FAULT]WG> + # WG> + # WG> + # [FAULT]WG> + # [FAULT]WG> + # WG> + + prompt /^\[?\w*\]?\w*?(?:<[\w-]+>)*(#|>)\s*$/ + comment '-- ' cmd :all do |cfg| From ee6cd589c31901c11fe4fc6ae2691b63c11a55b3 Mon Sep 17 00:00:00 2001 From: Robert Cheramy Date: Wed, 2 Oct 2024 12:22:48 +0200 Subject: [PATCH 2/2] Unit-Test for firewareos prompts --- spec/model/firewareos_spec.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 spec/model/firewareos_spec.rb diff --git a/spec/model/firewareos_spec.rb b/spec/model/firewareos_spec.rb new file mode 100644 index 000000000..9e40815ce --- /dev/null +++ b/spec/model/firewareos_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe 'Model firewareos' do + before(:each) do + Oxidized.asetus = Asetus.new + Oxidized.asetus.cfg.debug = false + Oxidized.setup_logger + + Oxidized::Node.any_instance.stubs(:resolve_repo) + Oxidized::Node.any_instance.stubs(:resolve_output) + + @node = Oxidized::Node.new(name: 'example.com', + input: 'ssh', + model: 'firewareos') + end + + it "matches different prompts" do + _('[FAULT]WG>').must_match FirewareOS.prompt + _('WG>').must_match FirewareOS.prompt + _('WG>').must_match FirewareOS.prompt + _('[FAULT]WG>').must_match FirewareOS.prompt + _('[FAULT]WG>').must_match FirewareOS.prompt + _('WG>').must_match FirewareOS.prompt + end +end