aboutsummaryrefslogtreecommitdiffstats
path: root/t/00-check-config.t
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2017-10-04 15:56:05 +0100
committerMatthew Somerville <matthew-github@dracos.co.uk>2017-10-10 17:44:35 +0100
commit328e1933d1ada8b99bc69c15c7cdb01f3ce04a1d (patch)
treef2a16fbff0e372fff8c57e5fc00364e9a2565881 /t/00-check-config.t
parent6f43693cfc58d5356fafd231f2a232eb2fd99ae5 (diff)
Better testing for tests run on live site.
When the tests are run normally, using bin/run-tests, 00-check-config.t is pointless as the config will have been newly set up from the example file. To prevent running except through run-tests, check when test_mode is set, dying if the live config file has been used.
Diffstat (limited to 't/00-check-config.t')
-rw-r--r--t/00-check-config.t51
1 files changed, 0 insertions, 51 deletions
diff --git a/t/00-check-config.t b/t/00-check-config.t
deleted file mode 100644
index 00e782e74..000000000
--- a/t/00-check-config.t
+++ /dev/null
@@ -1,51 +0,0 @@
-use strict;
-use warnings;
-
-use Test::More;
-use YAML;
-
-use FixMyStreet;
-
-# check that all the fields listed in general.yml-example are also present in
-# general.yml - helps prevent later test failures due to un-noticed additions to the
-# config file.
-
-# This code will bail_out to prevent the test suite proceeding to save time if
-# issues are found.
-
-# load the config file and store the contents in a readonly hash
-
-my $example_config = YAML::LoadFile( FixMyStreet->path_to("conf/general.yml-example") );
-my $CONF_FILE = $ENV{FMS_OVERRIDE_CONFIG} || 'general';
-my $local_config = YAML::LoadFile( FixMyStreet->path_to("conf/${CONF_FILE}.yml") );
-
-# find all keys missing from each config
-my @missing_from_example = find_missing( $example_config, $local_config );
-my @missing_from_local = find_missing( $local_config, $example_config );
-
-if ( @missing_from_example || @missing_from_local ) {
-
- fail "Missing from 'general.yml': $_" for @missing_from_local;
- fail "Missing from 'general.yml-example': $_" for @missing_from_example;
-
- # bail out to prevent other tests failing due to config issues
- BAIL_OUT( "Config has changed"
- . " - update your 'general.yml' and add/remove the keys listed above" );
-}
-else {
- pass "configs contain the same keys";
-}
-
-done_testing();
-
-sub find_missing {
- my $reference = shift;
- my $config = shift;
- my @missing = ();
-
- foreach my $key ( sort keys %$config ) {
- push @missing, $key unless exists $reference->{$key};
- }
-
- return @missing;
-}