lucid_works 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.autotest +1 -0
- data/.gitignore +5 -0
- data/.rspec +1 -0
- data/.rvmrc +1 -0
- data/Gemfile +11 -0
- data/Rakefile +7 -0
- data/lib/lucid_works.rb +26 -0
- data/lib/lucid_works/associations.rb +118 -0
- data/lib/lucid_works/base.rb +274 -0
- data/lib/lucid_works/collection.rb +14 -0
- data/lib/lucid_works/collection/index.rb +9 -0
- data/lib/lucid_works/collection/info.rb +9 -0
- data/lib/lucid_works/collection/settings.rb +9 -0
- data/lib/lucid_works/datasource.rb +40 -0
- data/lib/lucid_works/datasource/history.rb +17 -0
- data/lib/lucid_works/datasource/index.rb +9 -0
- data/lib/lucid_works/datasource/schedule.rb +9 -0
- data/lib/lucid_works/datasource/status.rb +9 -0
- data/lib/lucid_works/exceptions.rb +6 -0
- data/lib/lucid_works/patch_restclient.rb +29 -0
- data/lib/lucid_works/server.rb +23 -0
- data/lib/lucid_works/version.rb +3 -0
- data/lucid_works.gemspec +26 -0
- data/spec/lib/lucid_works/associations_spec.rb +130 -0
- data/spec/lib/lucid_works/base_spec.rb +399 -0
- data/spec/lib/lucid_works/collection_spec.rb +231 -0
- data/spec/lib/lucid_works/datasource_spec.rb +280 -0
- data/spec/lib/lucid_works/server_spec.rb +39 -0
- data/spec/spec_helper.rb +47 -0
- metadata +133 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe LucidWorks::Server do
|
4
|
+
before do
|
5
|
+
@fake_server_uri = "http://fakehost.com:8888"
|
6
|
+
end
|
7
|
+
|
8
|
+
describe ".new" do
|
9
|
+
it "should require a URL" do
|
10
|
+
lambda {
|
11
|
+
LucidWorks::Server.new
|
12
|
+
}.should raise_error(ArgumentError)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should remember the server URL" do
|
16
|
+
server = LucidWorks::Server.new(@fake_server_uri)
|
17
|
+
server.uri.should == @fake_server_uri + "/api"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "server" do
|
22
|
+
before { @server = LucidWorks::Server.new(@fake_server_uri) }
|
23
|
+
|
24
|
+
describe "#collection" do
|
25
|
+
it "should call Collection.find and pass the server" do
|
26
|
+
LucidWorks::Collection.should_receive(:find).with('foo', :parent => @server)
|
27
|
+
@server.collection('foo')
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "#collections" do
|
32
|
+
|
33
|
+
it "should call Collection.get and pass the server" do
|
34
|
+
LucidWorks::Collection.should_receive(:all).with(:parent => @server)
|
35
|
+
@server.collections
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'lucid_works'
|
2
|
+
|
3
|
+
def connect_to_live_server
|
4
|
+
server_uri = ENV['LUCIDWORKS_SERVER_URI']
|
5
|
+
raise "
|
6
|
+
These tests require a real live LucidWorks server,
|
7
|
+
please set LUCIDWORKS_SERVER_URI environment variable,
|
8
|
+
e.g. export LUCIDWORKS_SERVER_URI=http://localhost:8888 " unless server_uri
|
9
|
+
LucidWorks::Server.new(server_uri)
|
10
|
+
end
|
11
|
+
|
12
|
+
class LucidWorks::Server
|
13
|
+
DEFAULT_COLLECTION_NAME = 'collection1'
|
14
|
+
|
15
|
+
# Reset set of collections to contain 1 collection with the default name "collection1".
|
16
|
+
#
|
17
|
+
# LWE-CORE will not allow deletion of the last collection, so:
|
18
|
+
# create a junk empty one
|
19
|
+
# delete all the others
|
20
|
+
# create the default one
|
21
|
+
# delete the junk one
|
22
|
+
#
|
23
|
+
def reset_collections!
|
24
|
+
notes = [ "Resetting all collections:" ]
|
25
|
+
|
26
|
+
collections = self.collections
|
27
|
+
if default_collection = collections.detect { |c| c.name == DEFAULT_COLLECTION_NAME }
|
28
|
+
default_collection.datasources.each do |ds|
|
29
|
+
ds.destroy
|
30
|
+
notes << "Deleted collection '#{default_collection.name}' datasource #{ds.name}"
|
31
|
+
end
|
32
|
+
default_collection.empty!
|
33
|
+
notes << "Emptied collection '#{default_collection.name}'"
|
34
|
+
else
|
35
|
+
default_collection = Collection.create(:name => DEFAULT_COLLECTION_NAME)
|
36
|
+
notes << "Created collection '#{default_collection.name}'"
|
37
|
+
end
|
38
|
+
|
39
|
+
collections.each do |c|
|
40
|
+
unless c.name == default_collection.name
|
41
|
+
c.destroy
|
42
|
+
notes << "Deleted collection '#{c.name}'"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
notes
|
46
|
+
end
|
47
|
+
end
|
metadata
ADDED
@@ -0,0 +1,133 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lucid_works
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.1.1
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Sam Pierson
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-03-11 00:00:00 -08:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: activesupport
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: "3"
|
25
|
+
type: :runtime
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activemodel
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: "3"
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: rest-client
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 1.6.1
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: json
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: "0"
|
58
|
+
type: :runtime
|
59
|
+
version_requirements: *id004
|
60
|
+
description: Ruby wrapper for the LucidWorks REST API
|
61
|
+
email:
|
62
|
+
- sam.pierson@lucidimagination.com
|
63
|
+
executables: []
|
64
|
+
|
65
|
+
extensions: []
|
66
|
+
|
67
|
+
extra_rdoc_files: []
|
68
|
+
|
69
|
+
files:
|
70
|
+
- .autotest
|
71
|
+
- .gitignore
|
72
|
+
- .rspec
|
73
|
+
- .rvmrc
|
74
|
+
- Gemfile
|
75
|
+
- Rakefile
|
76
|
+
- lib/lucid_works.rb
|
77
|
+
- lib/lucid_works/associations.rb
|
78
|
+
- lib/lucid_works/base.rb
|
79
|
+
- lib/lucid_works/collection.rb
|
80
|
+
- lib/lucid_works/collection/index.rb
|
81
|
+
- lib/lucid_works/collection/info.rb
|
82
|
+
- lib/lucid_works/collection/settings.rb
|
83
|
+
- lib/lucid_works/datasource.rb
|
84
|
+
- lib/lucid_works/datasource/history.rb
|
85
|
+
- lib/lucid_works/datasource/index.rb
|
86
|
+
- lib/lucid_works/datasource/schedule.rb
|
87
|
+
- lib/lucid_works/datasource/status.rb
|
88
|
+
- lib/lucid_works/exceptions.rb
|
89
|
+
- lib/lucid_works/patch_restclient.rb
|
90
|
+
- lib/lucid_works/server.rb
|
91
|
+
- lib/lucid_works/version.rb
|
92
|
+
- lucid_works.gemspec
|
93
|
+
- spec/lib/lucid_works/associations_spec.rb
|
94
|
+
- spec/lib/lucid_works/base_spec.rb
|
95
|
+
- spec/lib/lucid_works/collection_spec.rb
|
96
|
+
- spec/lib/lucid_works/datasource_spec.rb
|
97
|
+
- spec/lib/lucid_works/server_spec.rb
|
98
|
+
- spec/spec_helper.rb
|
99
|
+
has_rdoc: true
|
100
|
+
homepage: ""
|
101
|
+
licenses: []
|
102
|
+
|
103
|
+
post_install_message:
|
104
|
+
rdoc_options: []
|
105
|
+
|
106
|
+
require_paths:
|
107
|
+
- lib
|
108
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: "0"
|
114
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: "0"
|
120
|
+
requirements: []
|
121
|
+
|
122
|
+
rubyforge_project: lucid_works
|
123
|
+
rubygems_version: 1.5.2
|
124
|
+
signing_key:
|
125
|
+
specification_version: 3
|
126
|
+
summary: Ruby wrapper for the LucidWorks REST API
|
127
|
+
test_files:
|
128
|
+
- spec/lib/lucid_works/associations_spec.rb
|
129
|
+
- spec/lib/lucid_works/base_spec.rb
|
130
|
+
- spec/lib/lucid_works/collection_spec.rb
|
131
|
+
- spec/lib/lucid_works/datasource_spec.rb
|
132
|
+
- spec/lib/lucid_works/server_spec.rb
|
133
|
+
- spec/spec_helper.rb
|