Skip to content

Commit 6d6813e

Browse files
author
Alex Evanczuk
authored
add spec to track metrics being added/removed (#34)
1 parent 19b3337 commit 6d6813e

1 file changed

Lines changed: 80 additions & 0 deletions

File tree

spec/pack_stats_spec.rb

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,86 @@ module PackStats # rubocop:disable RSpec/DescribedClassModuleWrapping
599599
write_file('components/my_component_3/lib/my_component_3.rb')
600600
end
601601

602+
# The purpose of this spec is to have a clear list of all of the metrics that are supported by pack_stats
603+
# We can also look at the diff of this list to easily see what metrics are being added or removed
604+
it 'emits only these metrics' do
605+
expect(metrics.map(&:name).uniq.sort).to match_array %w(
606+
modularization.all_files.by_team
607+
modularization.all_files.totals
608+
modularization.all_packages.all_files.count
609+
modularization.all_packages.count
610+
modularization.all_packages.dependencies.count
611+
modularization.all_packages.dependency_violations.count
612+
modularization.all_packages.enforcing_dependencies.count
613+
modularization.all_packages.enforcing_privacy.count
614+
modularization.all_packages.has_readme.count
615+
modularization.all_packages.package_based_file_ownership.count
616+
modularization.all_packages.packwerk_checkers.enforce_dependencies.false.count
617+
modularization.all_packages.packwerk_checkers.enforce_dependencies.strict.count
618+
modularization.all_packages.packwerk_checkers.enforce_dependencies.true.count
619+
modularization.all_packages.packwerk_checkers.enforce_privacy.false.count
620+
modularization.all_packages.packwerk_checkers.enforce_privacy.strict.count
621+
modularization.all_packages.packwerk_checkers.enforce_privacy.true.count
622+
modularization.all_packages.privacy_violations.count
623+
modularization.all_packages.public_files.count
624+
modularization.all_packages.rubocops.packs_classmethodsaspublicapis.exclusions.count
625+
modularization.all_packages.rubocops.packs_classmethodsaspublicapis.false.count
626+
modularization.all_packages.rubocops.packs_classmethodsaspublicapis.strict.count
627+
modularization.all_packages.rubocops.packs_classmethodsaspublicapis.true.count
628+
modularization.all_packages.rubocops.packs_documentedpublicapis.exclusions.count
629+
modularization.all_packages.rubocops.packs_documentedpublicapis.false.count
630+
modularization.all_packages.rubocops.packs_documentedpublicapis.strict.count
631+
modularization.all_packages.rubocops.packs_documentedpublicapis.true.count
632+
modularization.all_packages.rubocops.packs_rootnamespaceispackname.exclusions.count
633+
modularization.all_packages.rubocops.packs_rootnamespaceispackname.false.count
634+
modularization.all_packages.rubocops.packs_rootnamespaceispackname.strict.count
635+
modularization.all_packages.rubocops.packs_rootnamespaceispackname.true.count
636+
modularization.all_packages.rubocops.packs_typedpublicapis.exclusions.count
637+
modularization.all_packages.rubocops.packs_typedpublicapis.false.count
638+
modularization.all_packages.rubocops.packs_typedpublicapis.strict.count
639+
modularization.all_packages.rubocops.packs_typedpublicapis.true.count
640+
modularization.all_packages.using_public_directory.count
641+
modularization.all_packages.with_violations.count
642+
modularization.by_package.all_files.count
643+
modularization.by_package.dependency_violations.count
644+
modularization.by_package.inbound_dependency_violations.count
645+
modularization.by_package.inbound_explicit_dependencies.count
646+
modularization.by_package.inbound_privacy_violations.count
647+
modularization.by_package.outbound_dependency_violations.count
648+
modularization.by_package.outbound_dependency_violations.per_package.count
649+
modularization.by_package.outbound_explicit_dependencies.count
650+
modularization.by_package.outbound_explicit_dependencies.per_package.count
651+
modularization.by_package.outbound_privacy_violations.count
652+
modularization.by_package.outbound_privacy_violations.per_package.count
653+
modularization.by_package.privacy_violations.count
654+
modularization.by_package.public_files.count
655+
modularization.by_package.using_public_directory.count
656+
modularization.by_team.all_files.count
657+
modularization.by_team.all_packages.count
658+
modularization.by_team.dependency_violations.count
659+
modularization.by_team.has_readme.count
660+
modularization.by_team.inbound_dependency_violations.count
661+
modularization.by_team.inbound_privacy_violations.count
662+
modularization.by_team.outbound_dependency_violations.count
663+
modularization.by_team.outbound_dependency_violations.per_team.count
664+
modularization.by_team.outbound_privacy_violations.count
665+
modularization.by_team.outbound_privacy_violations.per_team.count
666+
modularization.by_team.packwerk_checkers.enforce_dependencies.false.count
667+
modularization.by_team.packwerk_checkers.enforce_dependencies.strict.count
668+
modularization.by_team.packwerk_checkers.enforce_dependencies.true.count
669+
modularization.by_team.packwerk_checkers.enforce_privacy.false.count
670+
modularization.by_team.packwerk_checkers.enforce_privacy.strict.count
671+
modularization.by_team.packwerk_checkers.enforce_privacy.true.count
672+
modularization.by_team.privacy_violations.count
673+
modularization.by_team.public_files.count
674+
modularization.by_team.using_public_directory.count
675+
modularization.component_files.by_team
676+
modularization.component_files.totals
677+
modularization.packaged_files.by_team
678+
modularization.packaged_files.totals
679+
)
680+
end
681+
602682
it 'emits the right metrics' do
603683
expect(metrics).to include_metric GaugeMetric.for('component_files.by_team', 3, Tags.for(['team:Team 2', 'app:MyApp']))
604684
expect(metrics).to include_metric GaugeMetric.for('packaged_files.by_team', 2, Tags.for(['team:Team 2', 'app:MyApp']))

0 commit comments

Comments
 (0)