|
179 | 179 | .to match_array(%w(nightly-2023-12-25)) |
180 | 180 | end |
181 | 181 | end |
| 182 | + |
| 183 | + context "when dependency requirement is a nightly dated channel with mixed stability releases" do |
| 184 | + let(:dependency_requirement) { "nightly-2025-08-19" } |
| 185 | + let(:dependency_version) { "nightly-2025-08-19" } |
| 186 | + let(:mock_versions) do |
| 187 | + [ |
| 188 | + Dependabot::RustToolchain::Version.new("nightly-2025-08-01"), |
| 189 | + Dependabot::RustToolchain::Version.new("nightly-2025-08-19"), |
| 190 | + Dependabot::RustToolchain::Version.new("nightly-2025-08-20"), |
| 191 | + Dependabot::RustToolchain::Version.new("stable-2025-08-07"), |
| 192 | + Dependabot::RustToolchain::Version.new("stable-2025-08-14"), |
| 193 | + Dependabot::RustToolchain::Version.new("beta-2025-08-10"), |
| 194 | + Dependabot::RustToolchain::Version.new("1.72.0") |
| 195 | + ] |
| 196 | + end |
| 197 | + |
| 198 | + it "only includes nightly releases, not stable or beta releases" do |
| 199 | + package_details = version_finder.package_details |
| 200 | + filtered_releases = version_finder.send(:apply_post_fetch_latest_versions_filter, package_details.releases) |
| 201 | + |
| 202 | + expect(filtered_releases.map { |x| x.version.to_s }) |
| 203 | + .to match_array(%w(nightly-2025-08-01 nightly-2025-08-19 nightly-2025-08-20)) |
| 204 | + expect(filtered_releases.map { |x| x.version.to_s }) |
| 205 | + .not_to include("stable-2025-08-07", "stable-2025-08-14", "beta-2025-08-10", "1.72.0") |
| 206 | + end |
| 207 | + end |
| 208 | + |
| 209 | + context "when dependency requirement is a stable dated channel with mixed stability releases" do |
| 210 | + let(:dependency_requirement) { "stable-2025-08-07" } |
| 211 | + let(:dependency_version) { "stable-2025-08-07" } |
| 212 | + let(:mock_versions) do |
| 213 | + [ |
| 214 | + Dependabot::RustToolchain::Version.new("nightly-2025-08-01"), |
| 215 | + Dependabot::RustToolchain::Version.new("nightly-2025-08-19"), |
| 216 | + Dependabot::RustToolchain::Version.new("stable-2025-08-07"), |
| 217 | + Dependabot::RustToolchain::Version.new("stable-2025-08-14"), |
| 218 | + Dependabot::RustToolchain::Version.new("stable-2025-08-21"), |
| 219 | + Dependabot::RustToolchain::Version.new("beta-2025-08-10"), |
| 220 | + Dependabot::RustToolchain::Version.new("1.72.0") |
| 221 | + ] |
| 222 | + end |
| 223 | + |
| 224 | + it "only includes stable releases, not nightly or beta releases" do |
| 225 | + package_details = version_finder.package_details |
| 226 | + filtered_releases = version_finder.send(:apply_post_fetch_latest_versions_filter, package_details.releases) |
| 227 | + |
| 228 | + expect(filtered_releases.map { |x| x.version.to_s }) |
| 229 | + .to match_array(%w(stable-2025-08-07 stable-2025-08-14 stable-2025-08-21)) |
| 230 | + expect(filtered_releases.map { |x| x.version.to_s }) |
| 231 | + .not_to include("nightly-2025-08-01", "nightly-2025-08-19", "beta-2025-08-10", "1.72.0") |
| 232 | + end |
| 233 | + end |
182 | 234 | end |
183 | 235 |
|
184 | 236 | describe "#apply_post_fetch_lowest_security_fix_versions_filter" do |
|
0 commit comments