mirror of
https://github.com/cmur2/openvpn-status-web.git
synced 2024-12-22 22:54:24 +01:00
Add some parser tests
This commit is contained in:
parent
468e002162
commit
457aec64db
23
spec/parser/modern_stateless_spec.rb
Normal file
23
spec/parser/modern_stateless_spec.rb
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe OpenVPNStatusWeb::Parser::ModernStateless do
|
||||||
|
{
|
||||||
|
2 => status_v2,
|
||||||
|
3 => status_v3
|
||||||
|
}.each do |version, status|
|
||||||
|
context "for status-version #{version}" do
|
||||||
|
it 'parses client list' do
|
||||||
|
status.client_list.map { |client| client[0] }.should be_eql ["foo", "bar"]
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'parses routing table' do
|
||||||
|
status.routing_table.map { |route| route[1] }.should be_eql ["foo", "bar", "foo", "bar"]
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'parses global stats' do
|
||||||
|
status.global_stats.size.should be_eql 1
|
||||||
|
status.global_stats.first.should be_eql ["Max bcast/mcast queue length", "42"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
18
spec/parser/v1_spec.rb
Normal file
18
spec/parser/v1_spec.rb
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe OpenVPNStatusWeb::Parser::V1 do
|
||||||
|
def status; status_v1; end
|
||||||
|
|
||||||
|
it 'parses client list' do
|
||||||
|
status.client_list.map { |client| client[0] }.should be_eql ["foo", "bar"]
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'parses routing table' do
|
||||||
|
status.routing_table.map { |route| route[1] }.should be_eql ["foo", "bar", "foo", "bar"]
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'parses global stats' do
|
||||||
|
status.global_stats.size.should be_eql 1
|
||||||
|
status.global_stats.first.should be_eql ["Max bcast/mcast queue length", "42"]
|
||||||
|
end
|
||||||
|
end
|
21
spec/spec_helper.rb
Normal file
21
spec/spec_helper.rb
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
require 'rubygems'
|
||||||
|
require 'bundler/setup'
|
||||||
|
require 'rack/test'
|
||||||
|
|
||||||
|
require 'openvpn-status-web'
|
||||||
|
|
||||||
|
def status_v1
|
||||||
|
text = File.open('examples/status.v1', 'rb') do |f| f.read end
|
||||||
|
OpenVPNStatusWeb::Parser::V1.new.parse_status_log text
|
||||||
|
end
|
||||||
|
|
||||||
|
def status_v2
|
||||||
|
text = File.open('examples/status.v2', 'rb') do |f| f.read end
|
||||||
|
OpenVPNStatusWeb::Parser::V2.new.parse_status_log text
|
||||||
|
end
|
||||||
|
|
||||||
|
def status_v3
|
||||||
|
text = File.open('examples/status.v3', 'rb') do |f| f.read end
|
||||||
|
OpenVPNStatusWeb::Parser::V3.new.parse_status_log text
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user