#!/usr/bin/env bash

cd `dirname $0`/..

rep_json=$(cat jobs/rep/templates/rep.json.erb |  grep -v declarative_healthcheck_path |  grep -v declarative_healthcheck_user)
rep_windows_json=$(cat jobs/rep_windows/templates/rep.json.erb | grep -v declarative_healthcheck_path |  grep -v declarative_healthcheck_user)

if ! diff -u <(echo -e "$rep_windows_json") <(echo -e "$rep_json"); then
    echo "rep json have drifted"
    exit 1
fi

rep_properties=$(cat jobs/rep/spec | sed -n '/properties/,$P' | grep -E '^  [a-z].*$' | tr -d '[:blank:]' | grep -v volman | grep -v bpm | sort)
rep_windows_properties=$(cat jobs/rep_windows/spec | sed -n '/properties/,$P' | grep -E '^  [a-z].*$' | grep -v syslog | grep -v diego.rep.open_bindmounts_acl | grep -v declarative_healthcheck_path | tr -d '[:blank:]' | sort)

if ! diff -u <(echo -e "$rep_properties") <(echo -e "$rep_windows_properties"); then
    echo "rep specs have drifted"
    exit 1
fi

route_emitter_json=$(cat jobs/route_emitter/templates/route_emitter.json.erb | grep -v register_direct_instance_routes )
route_emitter_windows_json=$(cat jobs/route_emitter_windows/templates/route_emitter.json.erb )
if ! diff -u <(echo -e "$route_emitter_json") <(echo -e "$route_emitter_windows_json"); then
    echo "route emitter json have drifted"
    exit 1
fi

route_emitter_properties=$(cat jobs/route_emitter/spec | sed -n '/properties/,$P' | grep -E '^  [a-z].*$' | grep -v register_direct_instance_routes | tr -d '[:blank:]' | grep -v bpm | sort)
route_emitter_windows_properties=$(cat jobs/route_emitter_windows/spec | sed -n '/properties/,$P' | grep -E '^  [a-z].*$' | grep -v syslog | tr -d '[:blank:]' | sort)

if ! diff -u <(echo -e "$route_emitter_properties") <(echo -e "$route_emitter_windows_properties"); then
    echo "route emitter specs have drifted"
    exit 1
fi
