Skip to content
代码片段 群组 项目
提交 9f39e457 编辑于 作者: Dmitry Gruzd's avatar Dmitry Gruzd 提交者: Siddharth Dungarwal
浏览文件

Add search url to zoekt nodes

上级 2c072c4f
No related branches found
No related tags found
加载中
...@@ -31,7 +31,7 @@ def self.find_or_initialize_by_task_request(params) ...@@ -31,7 +31,7 @@ def self.find_or_initialize_by_task_request(params)
# Note: if zoekt node makes task_request with a different `node.url`, # Note: if zoekt node makes task_request with a different `node.url`,
# we will respect that and make change here. # we will respect that and make change here.
s.index_base_url = params.fetch("node.url") s.index_base_url = params.fetch("node.url")
s.search_base_url = params.fetch("node.url") s.search_base_url = params['node.search_url'] || params.fetch("node.url")
s.last_seen_at = Time.zone.now s.last_seen_at = Time.zone.now
s.used_bytes = params.fetch("disk.used") s.used_bytes = params.fetch("disk.used")
......
...@@ -31,11 +31,11 @@ ...@@ -31,11 +31,11 @@
end end
describe '.find_or_initialize_by_task_request', :freeze_time do describe '.find_or_initialize_by_task_request', :freeze_time do
let(:params) do let(:base_params) do
{ {
'uuid' => '3869fe21-36d1-4612-9676-0b783ef2dcd7', 'uuid' => '3869fe21-36d1-4612-9676-0b783ef2dcd7',
'node.name' => 'm1.local', 'node.name' => 'm1.local',
'node.url' => 'http://localhost:6090', 'node.url' => 'http://localhost:6080',
'disk.all' => 994662584320, 'disk.all' => 994662584320,
'disk.used' => 532673712128, 'disk.used' => 532673712128,
'disk.free' => 461988872192 'disk.free' => 461988872192
...@@ -44,38 +44,52 @@ ...@@ -44,38 +44,52 @@
subject(:tasked_node) { described_class.find_or_initialize_by_task_request(params) } subject(:tasked_node) { described_class.find_or_initialize_by_task_request(params) }
context 'when node does not exist for given UUID' do context 'when node.search_url is unset' do
it 'returns a new record with correct attributes' do let(:params) { base_params }
it 'returns a new record with correct base_urls' do
expect(tasked_node).not_to be_persisted expect(tasked_node).not_to be_persisted
expect(tasked_node.index_base_url).to eq(params['node.url']) expect(tasked_node.index_base_url).to eq(params['node.url'])
expect(tasked_node.search_base_url).to eq(params['node.url']) expect(tasked_node.search_base_url).to eq(params['node.url'])
expect(tasked_node.uuid).to eq(params['uuid'])
expect(tasked_node.last_seen_at).to eq(Time.zone.now)
expect(tasked_node.used_bytes).to eq(params['disk.used'])
expect(tasked_node.total_bytes).to eq(params['disk.all'])
expect(tasked_node.metadata['name']).to eq(params['node.name'])
end end
end end
context 'when node already exists for given UUID' do context 'when node.search_url is set' do
it 'returns existing node and updates correct attributes' do let(:params) { base_params.merge('node.search_url' => 'http://localhost:6090') }
node.update!(uuid: params['uuid'])
expect(tasked_node).to be_persisted context 'when node does not exist for given UUID' do
expect(tasked_node.id).to eq(node.id) it 'returns a new record with correct attributes' do
expect(tasked_node.index_base_url).to eq(params['node.url']) expect(tasked_node).not_to be_persisted
expect(tasked_node.search_base_url).to eq(params['node.url']) expect(tasked_node.index_base_url).to eq(params['node.url'])
expect(tasked_node.uuid).to eq(params['uuid']) expect(tasked_node.search_base_url).to eq(params['node.search_url'])
expect(tasked_node.last_seen_at).to eq(Time.zone.now) expect(tasked_node.uuid).to eq(params['uuid'])
expect(tasked_node.used_bytes).to eq(params['disk.used']) expect(tasked_node.last_seen_at).to eq(Time.zone.now)
expect(tasked_node.total_bytes).to eq(params['disk.all']) expect(tasked_node.used_bytes).to eq(params['disk.used'])
expect(tasked_node.metadata['name']).to eq(params['node.name']) expect(tasked_node.total_bytes).to eq(params['disk.all'])
expect(tasked_node.metadata['name']).to eq(params['node.name'])
end
end end
it 'allows creation of another node with the same URL' do context 'when node already exists for given UUID' do
node.update!(index_base_url: params['node.url'], search_base_url: params['node.url']) it 'returns existing node and updates correct attributes' do
node.update!(uuid: params['uuid'])
expect(tasked_node).to be_persisted
expect(tasked_node.id).to eq(node.id)
expect(tasked_node.index_base_url).to eq(params['node.url'])
expect(tasked_node.search_base_url).to eq(params['node.search_url'])
expect(tasked_node.uuid).to eq(params['uuid'])
expect(tasked_node.last_seen_at).to eq(Time.zone.now)
expect(tasked_node.used_bytes).to eq(params['disk.used'])
expect(tasked_node.total_bytes).to eq(params['disk.all'])
expect(tasked_node.metadata['name']).to eq(params['node.name'])
end
it 'allows creation of another node with the same URL' do
node.update!(index_base_url: params['node.url'], search_base_url: params['node.url'])
expect(tasked_node.save).to eq(true) expect(tasked_node.save).to eq(true)
end
end end
end end
end end
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册