blob: d400898aeb5d40091ee8808ff5d2498f05a47d6e [file] [log] [blame]
require 'predictionio'
require 'spec_helper'
event_client = PredictionIO::EventClient.new(1, 'http://fakeapi.com:7070', 10)
engine_client = PredictionIO::EngineClient.new('http://fakeapi.com:8000', 10)
describe PredictionIO do
describe 'Events API' do
it 'create_event should create an event' do
response = event_client.create_event('register', 'user', 'foobar')
expect(response.code).to eq('201')
end
it 'create_event should not raise an error' do
response = event_client.create_event('register', 'user', 'foobar')
expect{ response }.to_not raise_error
end
it 'set_user should set user properties' do
response = event_client.set_user('foobar')
expect(response.code).to eq('201')
end
it 'set_user should not raise an error' do
response = event_client.set_user('foobar')
expect{ response }.to_not raise_error
end
it 'unset_user should unset user properties' do
response = event_client.unset_user('foobar', 'properties' => { 'bar' => 'baz' })
expect(response.code).to eq('201')
end
it 'unset_user should not raise an error' do
response = event_client.unset_user('foobar', 'properties' => { 'bar' => 'baz' })
expect{ response }.to_not raise_error
end
it 'set_item should set item properties' do
response = event_client.set_item('foobar')
expect(response.code).to eq('201')
end
it 'set_item should should not raise an error' do
response = event_client.set_item('foobar')
expect{ response }.to_not raise_error
end
it 'unset_item should unset item properties' do
response = event_client.unset_item('foobar', 'properties' => { 'bar' => 'baz' })
expect(response.code).to eq('201')
end
it 'unset_item should not raise an error' do
response = event_client.unset_item('foobar', 'properties' => { 'bar' => 'baz' })
expect{ response }.to_not raise_error
end
it 'record_user_action_on_item should record a U2I action' do
response = event_client.record_user_action_on_item('greet', 'foobar', 'barbaz', 'properties' => { 'dead' => 'beef' })
expect(response.code).to eq('201')
end
it 'record_user_action_on_item should not raise an error' do
response = event_client.record_user_action_on_item('greet', 'foobar', 'barbaz', 'properties' => { 'dead' => 'beef' })
expect{ response }.to_not raise_error
end
it 'delete_user should delete a user' do
response = event_client.delete_user('foobar')
expect(response.code).to eq('201')
end
it 'delete_user should not raise an error' do
response = event_client.delete_user('foobar')
expect{ response }.to_not raise_error
end
it 'delete_item should delete an item' do
response = event_client.delete_item('foobar')
expect(response.code).to eq('201')
end
it 'delete_item should not raise an error' do
response = event_client.delete_item('foobar')
expect{ response }.to_not raise_error
end
end
describe 'Engine Client' do
it 'send_query should get predictions' do
predictions = engine_client.send_query('uid' => 'foobar')
expect(predictions).to eq('iids' => %w(dead beef))
end
end
end