Skip to content

Commit

Permalink
Add dialyzer
Browse files Browse the repository at this point in the history
  • Loading branch information
rslota committed Feb 9, 2017
1 parent 948098d commit 5cf4941
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 14 deletions.
9 changes: 5 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ services:
- docker

before_install:
- docker run -d -p 2197:2197 mobify/apns-http2-mock-server
- docker run -d -p 443:443 roxeon/fcm-http2-mock-server
- tools/travis-setup.sh

env:
- MIX_ENV=test
- PRESET=exunit MIX_ENV=test
- PRESET=credo MIX_ENV=test
- PRESET=dialyzer MIX=test

script: mix coveralls.travis
script: tools/travis-test.sh
15 changes: 11 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,21 @@ compile:
mix compile

certs: priv/ssl/fake_cert.pem priv/ssl/fake_server.pem priv/ssl/fake_dh_server.pem \
priv/apns/app_cert.pem
priv/apns/dev_cert.pem priv/apns/prod_cert.pem

priv/apns/app_cert.pem:
priv/apns/prod_cert.pem:
@mkdir -p $(@D)
openssl req \
-x509 -nodes -days 365 \
-subj '/C=PL/ST=ML/L=Krakow/CN=mongoose-push-apns' \
-newkey rsa:2048 -keyout priv/apns/app_key.pem -out priv/apns/app_cert.pem
-subj '/C=PL/ST=ML/L=Krakow/CN=mongoose-push-apns-prod' \
-newkey rsa:2048 -keyout priv/apns/prod_key.pem -out priv/apns/prod_cert.pem

priv/apns/dev_cert.pem:
@mkdir -p $(@D)
openssl req \
-x509 -nodes -days 365 \
-subj '/C=PL/ST=ML/L=Krakow/CN=mongoose-push-apns-dev' \
-newkey rsa:2048 -keyout priv/apns/dev_key.pem -out priv/apns/dev_cert.pem

priv/ssl/fake_cert.pem:
@mkdir -p $(@D)
Expand Down
10 changes: 5 additions & 5 deletions lib/mongoose_push/application.ex
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,16 @@ defmodule MongoosePush.Application do
def pool_size(type, name), do: env(type)[name][:pool_size]
def worker_name(type, name, num), do: String.to_atom(~s"#{type}_#{name}_#{num}")

def pools_by_mode(service, mode) when is_atom(service) do
pools_by_mode(env(service), mode)
end
def pools_by_mode(:fcm = service, _mode) do
config = env(service)

def pools_by_mode(config, _mode) do
config
|> Enum.map(&(elem(&1, 0)))
end

def pools_by_mode(config, mode) do
def pools_by_mode(:apns = service, mode) do
config = env(service)

config
|> Enum.group_by(&(elem(&1, 1)[:mode]), &(elem &1, 0))
|> Map.get(mode)
Expand Down
2 changes: 1 addition & 1 deletion mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ defmodule MongoosePush.Mixfile do
{:httpoison, "~> 0.10.0"},
{:mock, "~> 0.2.0", only: :test},
{:excoveralls, "~> 0.6", only: :test},
{:dialyxir, "~> 0.4", only: [:dev], runtime: false},
{:dialyxir, "~> 0.4", only: [:dev, :test], runtime: false},
{:credo, "~> 0.5", only: [:dev, :test]}
]
end
Expand Down
8 changes: 8 additions & 0 deletions tools/travis-setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -e

# Skip this setup for jobs that don't run exunit
test "${PRESET}" == "exunit" || exit 0

docker run -d -p 2197:2197 mobify/apns-http2-mock-server
docker run -d -p 443:443 roxeon/fcm-http2-mock-server
16 changes: 16 additions & 0 deletions tools/travis-test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e

case "${PRESET}" in
"exunit" )
mix coveralls.travis
;;
"dialyzer" )
mix dialyzer
;;
"credo" )
mix credo --ignore design
;;
* )
echo "Unknown PRESET value" || exit 1
esac

0 comments on commit 5cf4941

Please sign in to comment.