gitlab-elasticsearch-git 0.0.6

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.
@@ -0,0 +1,5 @@
1
+ module Elasticsearch
2
+ module Git
3
+ VERSION = "0.0.6"
4
+ end
5
+ end
@@ -0,0 +1,43 @@
1
+ require 'test_helper'
2
+
3
+
4
+ class RepositoryTest < TestCase
5
+ def setup
6
+ @repository = Repository.new
7
+ @repository.repository_for_indexing(TEST_REPO_PATH)
8
+ Repository.__elasticsearch__.create_index! force: true
9
+ end
10
+
11
+ def test_index_commits
12
+ commit_count = @repository.index_commits
13
+ assert { commit_count == RepoInfo::COMMIT_COUNT }
14
+ end
15
+
16
+ def test_index_commits_after_first_push
17
+ commit_count = @repository.index_commits(
18
+ from_rev: "0000000000000000000000000000000000000000",
19
+ to_rev: @repository.repository_for_indexing.head.target.oid)
20
+
21
+ assert { commit_count == RepoInfo::COMMIT_COUNT }
22
+ end
23
+
24
+ #TODO write better assertions
25
+ def test_index_all_blobs_from_head
26
+ blob_count = @repository.index_blobs
27
+ Repository.__elasticsearch__.refresh_index!
28
+
29
+ result = @repository.search('def project_name_regex')
30
+ assert { result[:blobs][:total_count] == 1 }
31
+ end
32
+
33
+ #TODO write better assertions
34
+ def test_index_blobs_after_first_push
35
+ commit_count = @repository.index_blobs(
36
+ from_rev: "0000000000000000000000000000000000000000",
37
+ to_rev: @repository.repository_for_indexing.head.target.oid)
38
+ Repository.__elasticsearch__.refresh_index!
39
+
40
+ result = @repository.search('def project_name_regex')
41
+ assert { result[:blobs][:total_count] == 1 }
42
+ end
43
+ end
@@ -0,0 +1,3 @@
1
+ module RepoInfo
2
+ COMMIT_COUNT = 13
3
+ end
@@ -0,0 +1,9 @@
1
+ class Repository
2
+ include Elasticsearch::Git::Repository
3
+
4
+ index_name 'elasticsearch-git-test'
5
+
6
+ def repository_id
7
+ 1
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ unless File.exists?(TEST_REPO_PATH)
2
+ puts 'Prepare seeds'
3
+ FileUtils.mkdir_p(SUPPORT_PATH)
4
+ system(*%W(git clone --bare https://gitlab.com/gitlab-org/gitlab-test.git), chdir: SUPPORT_PATH)
5
+ system(*%W(git checkout 5937ac0a7beb003549fc5fd26fc247adbce4a52e), chdir: SUPPORT_PATH)
6
+ end
@@ -0,0 +1,29 @@
1
+ require "rubygems"
2
+ require 'bundler/setup'
3
+ require 'pry'
4
+ require 'elasticsearch/git'
5
+
6
+ SUPPORT_PATH = File.join(File.expand_path(File.dirname(__FILE__)), '../support')
7
+ TEST_REPO_PATH = File.join(SUPPORT_PATH, 'testme.git')
8
+
9
+ require_relative 'support/seed_helper'
10
+ require_relative 'support/repository'
11
+ require_relative 'support/repo_info'
12
+
13
+ Bundler.require
14
+
15
+ require 'wrong/adapters/minitest'
16
+
17
+ PROJECT_ROOT = File.join(Dir.pwd)
18
+
19
+ Wrong.config.color
20
+
21
+ Minitest.autorun
22
+
23
+ class TestCase < Minitest::Test
24
+ include Wrong
25
+
26
+ def fixtures_path
27
+ @path ||= File.expand_path(File.join(__FILE__, "../fixtures"))
28
+ end
29
+ end
metadata ADDED
@@ -0,0 +1,169 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gitlab-elasticsearch-git
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.6
5
+ platform: ruby
6
+ authors:
7
+ - Andrey Kumanyaev
8
+ - Evgeniy Sokovikov
9
+ - GitLab B.V.
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2016-01-15 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: elasticsearch-model
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: elasticsearch-api
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: 0.4.0
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: 0.4.0
43
+ - !ruby/object:Gem::Dependency
44
+ name: rugged
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: 0.23.3
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: 0.23.3
57
+ - !ruby/object:Gem::Dependency
58
+ name: charlock_holmes
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: 0.7.3
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: 0.7.3
71
+ - !ruby/object:Gem::Dependency
72
+ name: github-linguist
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: 4.7.0
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: 4.7.0
85
+ - !ruby/object:Gem::Dependency
86
+ name: activemodel
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: 4.2.0
92
+ type: :runtime
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: 4.2.0
99
+ - !ruby/object:Gem::Dependency
100
+ name: activesupport
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: 4.2.0
106
+ type: :runtime
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: 4.2.0
113
+ description: Elasticsearch integrations for indexing git repositories.
114
+ email:
115
+ - me@zzet.org
116
+ - skv-headless@yandex.ru
117
+ executables: []
118
+ extensions: []
119
+ extra_rdoc_files: []
120
+ files:
121
+ - ".gitignore"
122
+ - CHANGELOG
123
+ - Gemfile
124
+ - Gemfile.lock
125
+ - LICENSE.txt
126
+ - README.md
127
+ - Rakefile
128
+ - gitlab-elasticsearch-git.gemspec
129
+ - lib/elasticsearch/git.rb
130
+ - lib/elasticsearch/git/encoder_helper.rb
131
+ - lib/elasticsearch/git/lite_blob.rb
132
+ - lib/elasticsearch/git/model.rb
133
+ - lib/elasticsearch/git/repository.rb
134
+ - lib/elasticsearch/git/version.rb
135
+ - test/lib/repository_test.rb
136
+ - test/support/repo_info.rb
137
+ - test/support/repository.rb
138
+ - test/support/seed_helper.rb
139
+ - test/test_helper.rb
140
+ homepage: https://gitlab.com/gitlab-org/gitlab-elasticsearch-git
141
+ licenses:
142
+ - MIT
143
+ metadata: {}
144
+ post_install_message:
145
+ rdoc_options: []
146
+ require_paths:
147
+ - lib
148
+ required_ruby_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ required_rubygems_version: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ requirements: []
159
+ rubyforge_project:
160
+ rubygems_version: 2.4.3
161
+ signing_key:
162
+ specification_version: 4
163
+ summary: Elasticsearch integrations for git repositories.
164
+ test_files:
165
+ - test/lib/repository_test.rb
166
+ - test/support/repo_info.rb
167
+ - test/support/repository.rb
168
+ - test/support/seed_helper.rb
169
+ - test/test_helper.rb