Skip to content

Commit c7ad8c1

Browse files
authored
Merge pull request #9 from imdrasil/fix_ci_elastic_setup
Add elastic as a service
2 parents 7d99d27 + 20da6d5 commit c7ad8c1

File tree

15 files changed

+59
-46
lines changed

15 files changed

+59
-46
lines changed

.travis.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ addons:
66
packages:
77
- openjdk-8-jdk
88
- openjdk-8-jre
9+
services:
10+
- elasticsearch
911
before_script:
10-
- curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.deb
11-
- sudo dpkg -i --force-confnew elasticsearch-5.1.1.deb
12-
- sudo service elasticsearch start
1312
- sleep 10
14-
- crystal ./script/runner.cr -- es:index:create_all
13+
- crystal ./script/runner.cr es:index:create_all
14+
script:
15+
- ./bin/ameba
16+
- crystal spec
1517

1618
notifications:
1719
on_failure: never

sam.cr

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require "sam"
2+
3+
# Here you can define your tasks
4+
# desc "with description to be used by help command"
5+
# task "test" do
6+
# puts "ping"
7+
# end
8+
9+
Sam.help

shard.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
name: hermes
2-
version: 0.2.2
2+
version: 0.3.0
33

44
authors:
55
- Roman Kalnytskyi <[email protected]>
66

7-
crystal: 0.31.1
7+
crystal: 0.35.1
88

99
license: MIT
1010
development_dependencies:
1111
sam:
1212
github: imdrasil/sam.cr
1313
version: "~> 0.3.0"
14+
ameba:
15+
github: crystal-ameba/ameba
16+
version: "= 0.12.1"

spec/hermes/repository_spec.cr

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ describe Hermes::Repository do
4949
it "update given doc by given description" do
5050
post = create_post
5151
Hermes.refresh
52-
r = PostRepository.update(post._id, {
52+
PostRepository.update(post._id, {
5353
script: {
5454
inline: "ctx._source.likes += params.count",
5555
lang: "painless",
@@ -85,8 +85,8 @@ describe Hermes::Repository do
8585

8686
describe "::search" do
8787
it "correctly searches by given query" do
88-
p1 = PostRepository.save(build_post(tag: "search", user: "kim"), true)
89-
p2 = PostRepository.save(build_post(user: "kim", tag: "elastic"), true)
88+
PostRepository.save(build_post(tag: "search", user: "kim"), true)
89+
PostRepository.save(build_post(user: "kim", tag: "elastic"), true)
9090
PostRepository.save(build_post(user: "eddy", tag: "elastic"), true)
9191
r = PostRepository.search({
9292
query: {
@@ -109,8 +109,8 @@ describe Hermes::Repository do
109109

110110
describe "::aggregate" do
111111
it "correctly aggregates" do
112-
p1 = PostRepository.save(build_post(tag: "search", user: "kim", likes: 2), true)
113-
p2 = PostRepository.save(build_post(user: "kim", tag: "elastic", likes: 3), true)
112+
PostRepository.save(build_post(tag: "search", user: "kim", likes: 2), true)
113+
PostRepository.save(build_post(user: "kim", tag: "elastic", likes: 3), true)
114114
r = PostRepository.aggregate({total_likes: {sum: {field: "likes"}}})
115115

116116
r.aggs["total_likes"]["value"].should eq(5)
@@ -178,8 +178,8 @@ describe Hermes::Repository do
178178

179179
describe "::count" do
180180
it "counts objects by given query" do
181-
post1 = create_post(user: "kim")
182-
post2 = create_post(user: "eddy")
181+
create_post(user: "kim")
182+
create_post(user: "eddy")
183183
TestIndex.refresh
184184
PostRepository.count({query: {term: {user: "kim"}}}).should eq(1)
185185
end
@@ -205,7 +205,7 @@ describe Hermes::Repository do
205205
describe "::multi_get" do
206206
it "returns array of retrieved objects" do
207207
post1 = create_post(user: "kim")
208-
post2 = create_post(user: "yao")
208+
create_post(user: "yao")
209209
post3 = create_post(user: "eddy")
210210
TestIndex.refresh
211211
res = PostRepository.multi_get([post1._id, post3._id])
@@ -215,9 +215,9 @@ describe Hermes::Repository do
215215

216216
describe "::all" do
217217
it "retrieves all" do
218-
post1 = create_post(user: "kim")
219-
post2 = create_post(user: "yao")
220-
post3 = create_post(user: "eddy")
218+
create_post(user: "kim")
219+
create_post(user: "yao")
220+
create_post(user: "eddy")
221221
TestIndex.refresh
222222
PostRepository.all.entries.size.should eq(3)
223223
end

spec/hermes_spec.cr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ require "./spec_helper"
33
describe Hermes do
44
describe "::bulk" do
55
it "loads all to es" do
6-
r = Hermes.bulk([
6+
Hermes.bulk([
77
{index: {_index: "test_index", _type: "posts"}},
88
{
99
title: "test t3",

spec/spec_helper.cr

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ require "../src/hermes"
33
require "./config"
44
require "./factories"
55

6-
Hermes::Config.configure do |c|
7-
#c.host = "127.0.0.1"
8-
end
6+
# Hermes::Config.configure do |c|
7+
# c.host = "127.0.0.1"
8+
# end
99

1010
Spec.before_each do
1111
query = {query: {match_all: {} of String => String}}

src/hermes.cr

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ require "./hermes/client"
1313
require "./hermes/*"
1414

1515
module Hermes
16+
VERSION = "0.3.0"
17+
1618
def self.status
1719
client.get("/")
1820
end

src/hermes/client.cr

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module Hermes
66
@headers = HTTP::Headers.new
77
@headers.add("Accept", "application/json")
88
@headers.add("Content-Type", "application/json")
9-
9+
1010
@http = HTTP::Client.new(URI.new(Config.schema, Config.host, Config.port))
1111
end
1212

@@ -16,7 +16,7 @@ module Hermes
1616
Response.new(res)
1717
end
1818
{% end %}
19-
19+
2020
{% for method in [:get, :post, :put, :delete] %}
2121
def {{method.id}}!(url, headers = nil, body = nil)
2222
res = @http.{{method.id}}(url, @headers, body)

src/hermes/repository.cr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ module Hermes
9797

9898
def self.save(obj : Persistent, refresh = false)
9999
body = obj.to_json
100-
unless obj.es_new_record?
100+
if !obj.es_new_record?
101101
Hermes.client.put(path(obj._id, refresh), nil, body)
102102
else
103103
res = Hermes.client.post(path(refresh), nil, body)

src/hermes/search_response.cr

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ module Hermes
1919
@_source._id = @_id
2020
@_source._type = @_type
2121
@_source._index = @_index
22-
22+
2323
@_source
2424
end
2525

@@ -65,7 +65,7 @@ module Hermes
6565

6666
@[JSON::Field(key: "aggregations")]
6767
property aggregations : Hash(String, JSON::Any)
68-
68+
6969
def aggs
7070
@aggregations
7171
end

0 commit comments

Comments
 (0)