80 lines
1.9 KiB
Ruby
80 lines
1.9 KiB
Ruby
require 'spec_helper'
|
|
require 'stringio'
|
|
|
|
=begin
|
|
example output:
|
|
|
|
<directory>
|
|
<yp-url-timeout>15</yp-url-timeout>
|
|
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
|
|
</directory>
|
|
=end
|
|
describe IcecastDirectory do
|
|
|
|
let(:dir) { IcecastDirectory.new }
|
|
let(:output) { StringIO.new }
|
|
let(:builder) { ::Builder::XmlMarkup.new(:target => output, :indent => 1) }
|
|
|
|
before(:each) do
|
|
|
|
end
|
|
|
|
it "save error" do
|
|
dir.save.should be false
|
|
dir.errors[:yp_url].length.should == 1
|
|
dir.errors[:yp_url_timeout].length.should == 0
|
|
end
|
|
|
|
it "save" do
|
|
dir.yp_url = Faker::Lorem.characters(number: 10)
|
|
dir.yp_url_timeout = 20
|
|
dir.save.should be true
|
|
dir.dumpXml(builder)
|
|
|
|
output.rewind
|
|
xml = Nokogiri::XML(output)
|
|
xml.css('directory yp-url-timeout').text.should == dir.yp_url_timeout.to_s
|
|
xml.css('directory yp-url-timeout').length.should == 1
|
|
xml.css('directory yp-url').text.should == dir.yp_url
|
|
xml.css('directory yp-url').length.should == 1
|
|
end
|
|
|
|
describe "poke configs" do
|
|
let(:server) { a = FactoryBot.create(:icecast_server_with_overrides); a.config_updated; IcecastServer.find(a.id) }
|
|
|
|
before(:each) do
|
|
server.directory = FactoryBot.create(:icecast_directory)
|
|
server.template.directory = FactoryBot.create(:icecast_directory)
|
|
server.template.save!
|
|
server.save!
|
|
server.config_updated
|
|
server.reload
|
|
end
|
|
|
|
it "success via template" do
|
|
server.template.directory.save!
|
|
server.reload
|
|
server.config_changed.should == 1
|
|
end
|
|
|
|
it "delete via template" do
|
|
server.template.directory.destroy
|
|
server.reload
|
|
server.config_changed.should == 1
|
|
end
|
|
|
|
it "success via server" do
|
|
server.directory.save!
|
|
server.reload
|
|
server.config_changed.should == 1
|
|
end
|
|
|
|
it "destroy via server" do
|
|
server.directory.destroy
|
|
server.reload
|
|
server.config_changed.should == 1
|
|
end
|
|
end
|
|
|
|
end
|