Skip to content

Commit f71afcb

Browse files
authored
Remove Bazel from file_parser_spec.rb.erb (#13978)
* remove bazel from file_parser_spec erb file * Refactor file_parser_spec to improve test case clarity
1 parent 686d258 commit f71afcb

File tree

1 file changed

+10
-116
lines changed

1 file changed

+10
-116
lines changed

rakelib/support/ecosystem_templates/file_parser_spec.rb.erb

Lines changed: 10 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44
require "spec_helper"
55
require "dependabot/dependency_file"
6-
require "dependabot/bazel/file_parser"
6+
require "dependabot/<%= ecosystem_module %>/file_parser"
77
require_common_spec "file_parsers/shared_examples_for_file_parsers"
88

9-
RSpec.describe Dependabot::Bazel::FileParser do
9+
RSpec.describe Dependabot::<%= ecosystem_module %>::FileParser do
1010
subject(:parser) do
1111
described_class.new(
1212
dependency_files: dependency_files,
@@ -32,121 +32,15 @@ RSpec.describe Dependabot::Bazel::FileParser do
3232
end
3333

3434
let(:module_file_content) do
35-
<<~BAZEL
36-
module(name = "my-module", version = "1.0")
37-
38-
bazel_dep(name = "rules_cc", version = "0.1.1")
39-
bazel_dep(name = "platforms", version = "0.0.11")
40-
bazel_dep(name = "abseil-cpp", version = "20230125.3")
41-
BAZEL
35+
<<~<%= ecosystem_module %>
36+
<%= ecosystem_module %>
4237
end
4338

44-
describe "#parse" do
45-
it "returns the expected dependencies" do
46-
dependencies = parser.parse
47-
48-
expect(dependencies.length).to eq(3)
49-
50-
expect(dependencies.map(&:name)).to contain_exactly(
51-
"rules_cc",
52-
"platforms",
53-
"abseil-cpp"
54-
)
55-
56-
rules_cc_dep = dependencies.find { |d| d.name == "rules_cc" }
57-
expect(rules_cc_dep.version).to eq("0.1.1")
58-
expect(rules_cc_dep.package_manager).to eq("bazel")
59-
expect(rules_cc_dep.requirements.first[:file]).to eq("MODULE.bazel")
60-
end
61-
end
62-
63-
context "with WORKSPACE file" do
64-
let(:dependency_files) { [workspace_file] }
65-
66-
let(:workspace_file) do
67-
Dependabot::DependencyFile.new(
68-
name: "WORKSPACE",
69-
content: workspace_file_content
70-
)
71-
end
39+
it_behaves_like "a dependency file parser"
7240

73-
let(:workspace_file_content) do
74-
<<~BAZEL
75-
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
76-
77-
http_archive(
78-
name = "rules_cc",
79-
urls = ["https://github.com/bazelbuild/rules_cc/archive/v0.1.1.tar.gz"],
80-
sha256 = "abc123...",
81-
)
82-
83-
http_archive(
84-
name = "abseil-cpp",
85-
urls = ["https://github.com/abseil/abseil-cpp/archive/20230125.3.tar.gz"],
86-
sha256 = "def456...",
87-
)
88-
BAZEL
89-
end
90-
91-
it "parses WORKSPACE dependencies" do
92-
dependencies = parser.parse
93-
94-
expect(dependencies.length).to eq(2)
95-
expect(dependencies.map(&:name)).to contain_exactly("rules_cc", "abseil-cpp")
96-
97-
rules_cc_dep = dependencies.find { |d| d.name == "rules_cc" }
98-
expect(rules_cc_dep.version).to eq("0.1.1")
99-
end
100-
end
101-
102-
context "with BUILD file" do
103-
let(:dependency_files) { [module_file, build_file] }
104-
105-
let(:build_file) do
106-
Dependabot::DependencyFile.new(
107-
name: "BUILD",
108-
content: build_file_content
109-
)
110-
end
111-
112-
let(:build_file_content) do
113-
<<~BAZEL
114-
load("@rules_go//go:def.bzl", "go_library", "go_binary")
115-
load("@rules_cc//cc:defs.bzl", "cc_library")
116-
117-
cc_library(
118-
name = "my_lib",
119-
srcs = ["lib.cc"],
120-
deps = [
121-
"@abseil-cpp//absl/strings",
122-
],
123-
)
124-
BAZEL
125-
end
126-
127-
it "parses load statements from BUILD files" do
128-
dependencies = parser.parse
129-
130-
# Should include MODULE.bazel deps plus load references
131-
expect(dependencies.length).to be >= 3
132-
133-
load_deps = dependencies.select { |d| d.requirements.first[:groups] == ["load_references"] }
134-
expect(load_deps.map(&:name)).to include("rules_go", "rules_cc")
135-
end
136-
end
137-
138-
context "with .bazelversion file" do
139-
let(:dependency_files) { [module_file, bazelversion_file] }
140-
141-
let(:bazelversion_file) do
142-
Dependabot::DependencyFile.new(
143-
name: ".bazelversion",
144-
content: "6.4.0"
145-
)
146-
end
147-
148-
it "detects the Bazel version" do
149-
expect(parser.send(:bazel_version)).to eq("6.4.0")
150-
end
151-
end
41+
# TODO: Add test cases
42+
# Example:
43+
# it "Parses Dependencies in files" do
44+
# # Test implementation
45+
# end
15246
end

0 commit comments

Comments
 (0)