3 require 'puppet/provider/keystone'
4 require 'puppet/provider/keystone/util'
6 describe "split_domain method" do
7 it 'should handle nil and empty strings' do
8 expect(Util.split_domain('')).to eq([nil, nil])
9 expect(Util.split_domain(nil)).to eq([nil, nil])
11 it 'should return name and no domain' do
12 expect(Util.split_domain('foo')).to eq(['foo', nil])
13 expect(Util.split_domain('foo::')).to eq(['foo', nil])
15 it 'should return name and domain' do
16 expect(Util.split_domain('foo::bar')).to eq(['foo', 'bar'])
17 expect(Util.split_domain('foo::bar::')).to eq(['foo', 'bar'])
18 expect(Util.split_domain('::foo::bar')).to eq(['::foo', 'bar'])
19 expect(Util.split_domain('::foo::bar::')).to eq(['::foo', 'bar'])
20 expect(Util.split_domain('foo::bar::baz')).to eq(['foo::bar', 'baz'])
21 expect(Util.split_domain('foo::bar::baz::')).to eq(['foo::bar', 'baz'])
22 expect(Util.split_domain('::foo::bar::baz')).to eq(['::foo::bar', 'baz'])
23 expect(Util.split_domain('::foo::bar::baz::')).to eq(['::foo::bar', 'baz'])
25 it 'should return domain only' do
26 expect(Util.split_domain('::foo')).to eq([nil, 'foo'])
27 expect(Util.split_domain('::foo::')).to eq([nil, 'foo'])