| // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file | 
 | // for details. All rights reserved. Use of this source code is governed by a | 
 | // BSD-style license that can be found in the LICENSE file. | 
 |  | 
 | import 'package:test_reflective_loader/test_reflective_loader.dart'; | 
 |  | 
 | import '../rule_test_support.dart'; | 
 |  | 
 | main() { | 
 |   defineReflectiveSuite(() { | 
 |     defineReflectiveTests(SecurePubspecUrlsTest); | 
 |   }); | 
 | } | 
 |  | 
 | @reflectiveTest | 
 | class SecurePubspecUrlsTest extends LintRuleTest { | 
 |   @override | 
 |   bool get dumpAstOnFailures => false; | 
 |  | 
 |   @override | 
 |   String get lintRule => 'secure_pubspec_urls'; | 
 |  | 
 |   test_dependencyGit_insecure() async { | 
 |     await assertPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 |  | 
 | dependencies: | 
 |   kittens: | 
 |     git: http://github.com/munificent/kittens.git | 
 | ''', [ | 
 |       lint(81, 40), | 
 |     ]); | 
 |   } | 
 |  | 
 |   test_dependencyGitUrl_insecure() async { | 
 |     await assertPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 |  | 
 | dependencies: | 
 |   kittens2: | 
 |     git: | 
 |       url: http://github.com/munificent/kittens2.git | 
 |       ref: main | 
 | ''', [ | 
 |       lint(93, 41), | 
 |     ]); | 
 |   } | 
 |  | 
 |   test_dependencyHosted_insecure() async { | 
 |     await assertPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 |  | 
 | dependencies: | 
 |   transmogrify: | 
 |     hosted: http://some-package-server.com | 
 | ''', [ | 
 |       lint(89, 30), | 
 |     ]); | 
 |   } | 
 |  | 
 |   test_dependencyHostedUrl_insecure() async { | 
 |     await assertPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 |  | 
 | dependencies: | 
 |   transmogrify: | 
 |     hosted: | 
 |       name: transmogrify | 
 |       url: http://some-package-server.com | 
 |     version: ^1.0.0 | 
 | ''', [ | 
 |       lint(125, 30), | 
 |     ]); | 
 |   } | 
 |  | 
 |   test_dependencyOverridesGit_insecure() async { | 
 |     await assertPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 |  | 
 | dependency_overrides: | 
 |   kittens: | 
 |     git: http://github.com/munificent/kittens.git | 
 | ''', [ | 
 |       lint(89, 40), | 
 |     ]); | 
 |   } | 
 |  | 
 |   test_devDependencyGit_insecure() async { | 
 |     await assertPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 |  | 
 | dev_dependencies: | 
 |   kittens: | 
 |     git: http://github.com/munificent/kittens.git | 
 | ''', [ | 
 |       lint(85, 40), | 
 |     ]); | 
 |   } | 
 |  | 
 |   test_homepage_insecure() async { | 
 |     await assertPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 | homepage: http://github.com/dart-lang/linter | 
 | ''', [ | 
 |       lint(56, 34), | 
 |     ]); | 
 |   } | 
 |  | 
 |   test_homepage_secure() async { | 
 |     await assertNoPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 | homepage: https://github.com/dart-lang/linter | 
 | '''); | 
 |   } | 
 |  | 
 |   test_issueTracker_insecure() async { | 
 |     await assertPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 | issue_tracker: http://github.com/dart-lang/linter/issues | 
 | ''', [ | 
 |       lint(61, 41), | 
 |     ]); | 
 |   } | 
 |  | 
 |   test_repository_insecure() async { | 
 |     await assertPubspecDiagnostics(r''' | 
 | name: fancy | 
 | description: Text. | 
 | version: 1.1.1 | 
 | repository: http://github.com/dart-lang/linter | 
 |  | 
 | environment: | 
 |   sdk: ">=2.15.2 <3.0.0" | 
 | ''', [ | 
 |       lint(58, 34), | 
 |     ]); | 
 |   } | 
 | } |