Skip to content
This repository has been archived by the owner on Nov 24, 2022. It is now read-only.

Commit

Permalink
Bump Elixir to 1.4; Elixir 1.4 cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
andersju committed Feb 11, 2017
1 parent db5642c commit a044b13
Show file tree
Hide file tree
Showing 10 changed files with 17 additions and 64 deletions.
11 changes: 0 additions & 11 deletions README.md
Expand Up @@ -36,17 +36,6 @@ This is a project by [Dataskydd.net](https://dataskydd.net). We received funding
## Backend
* Get PhearJS running - see https://github.com/Tomtomgo/phearjs/blob/master/README.md. (Clone https://github.com/andersju/phearjs/ to get the one that Dataskydd.net is running.)

## Ruby client
If you just want the data in a machine-readable form, you only need
PhearJS and the simple client written in Ruby in `misc/ruby-client`:

* Make sure Ruby is installed on your system and that PhearJS is running. Then, in `misc/ruby-client`:
* Install dependencies: `bundle install`
* To see possible options, run `ruby webbkoll.rb --help`
* Example: `ruby webbkoll.rb http://www.example.com`
* By default the backend is `http://localhost:8100` and the program will output JSON to STDOUT.
* Please note that it's currently _very_ basic.

## Frontend (this app!)
* Install Erlang (18) and Elixir (>= 1.3) -- see http://elixir-lang.org/install.html
* Have [redis](http://redis.io/) running (needed for exq job handling)
Expand Down
8 changes: 4 additions & 4 deletions lib/webbkoll/helpers.ex
Expand Up @@ -5,7 +5,7 @@ defmodule Webbkoll.Helpers do
def check_services(requests) do
requests
|> Enum.reduce([], fn(request, acc) ->
Enum.reduce(services, acc, fn({k, v}, acc) ->
Enum.reduce(services(), acc, fn({k, v}, acc) ->
case String.contains?(request["url"], v["pattern"]) do
true -> acc ++ [k]
false -> acc
Expand All @@ -16,8 +16,8 @@ defmodule Webbkoll.Helpers do
end

def get_service(service, key) do
if Map.has_key?(services, service) do
services[service][key]
if Map.has_key?(services(), service) do
services()[service][key]
end
end

Expand Down Expand Up @@ -148,4 +148,4 @@ defmodule Webbkoll.Helpers do
false -> string
end
end
end
end
2 changes: 1 addition & 1 deletion lib/webbkoll/plugs/locale.ex
Expand Up @@ -12,7 +12,7 @@ defmodule Webbkoll.Locale do
end
def call(conn, default) do
path =
if conn.params["locale"] != nil and String.downcase(conn.params["locale"]) in ietf_codes do
if conn.params["locale"] != nil and String.downcase(conn.params["locale"]) in ietf_codes() do
~r/(\/)#{conn.params["locale"]}(\/(?:.+)?|\?(?:.+)?|$)/
|> Regex.replace(conn.request_path, "\\1#{default}\\2")
else
Expand Down
2 changes: 1 addition & 1 deletion lib/webbkoll/worker.ex
Expand Up @@ -149,7 +149,7 @@ defmodule Webbkoll.Worker do

defp get_cookies(cookies, registerable_domain) do
{first, third} =
Enum.partition(cookies, fn(x) ->
Enum.split_with(cookies, fn(x) ->
(x["domain"] |> String.trim(".") |> get_registerable_domain) == registerable_domain
end)
%{"first_party" => first, "third_party" => third}
Expand Down
2 changes: 1 addition & 1 deletion mix.exs
Expand Up @@ -4,7 +4,7 @@ defmodule Webbkoll.Mixfile do
def project do
[app: :webbkoll,
version: "0.0.1",
elixir: "~> 1.3",
elixir: "~> 1.4",
elixirc_paths: elixirc_paths(Mix.env),
compilers: [:phoenix, :gettext] ++ Mix.compilers,
build_embedded: Mix.env == :prod,
Expand Down
34 changes: 0 additions & 34 deletions rel/config.exs

This file was deleted.

17 changes: 8 additions & 9 deletions test/controllers/site_controller_test.exs
Expand Up @@ -4,41 +4,40 @@ defmodule Webbkoll.SiteControllerTest do
import Webbkoll.Helpers

@default_locale Application.get_env(:webbkoll, :default_locale)
@locales Application.get_env(:webbkoll, :locales)

test "/ redirects to default locale" do
conn = get build_conn, "/"
conn = get build_conn(), "/"
assert redirected_to(conn) =~ "/#{@default_locale}/"
end

test "index page" do
conn = get build_conn, "/en/"
conn = get build_conn(), "/en/"
assert html_response(conn, 200) =~ "How privacy-friendly is your site?"
end

test "about page" do
conn = get build_conn, "/en/about"
conn = get build_conn(), "/en/about"
assert html_response(conn, 200) =~ "Welcome to the Web Privacy Check"
end

test "tech page" do
conn = get build_conn, "/en/tech"
conn = get build_conn(), "/en/tech"
assert html_response(conn, 200) =~ "Technology we use"
end

test "returns error on domain with TLD not in Public Suffix list" do
conn = get build_conn, "/en/check?url=foobar.invalidtld"
conn = get build_conn(), "/en/check?url=foobar.invalidtld"
assert html_response(conn, 400) =~ "Error"
end

test "returns 302 redirect to status when given valid URL" do
conn = get build_conn, "/en/check?url=http://example.com"
conn = get build_conn(), "/en/check?url=http://example.com"
assert List.to_string(Plug.Conn.get_resp_header(conn, "location")) =~ "status"
assert conn.status == 302
end

test "returns 302 redirect to status when given valid domain" do
conn = get build_conn, "/en/check?url=example.com"
conn = get build_conn(), "/en/check?url=example.com"
assert List.to_string(Plug.Conn.get_resp_header(conn, "location")) =~ "status"
assert conn.status == 302
end
Expand All @@ -58,7 +57,7 @@ defmodule Webbkoll.SiteControllerTest do
assert site_meta["hsts"] =~ "max-age=10886400;"
assert site_meta["services"] == []

conn = get build_conn, "/en/results?url=https%3A%2F%2Fexample.com%2F"
conn = get build_conn(), "/en/results?url=https%3A%2F%2Fexample.com%2F"
assert html_response(conn, 200) =~ "Results for https://example.com/"
assert html_response(conn, 200) =~ "Referrers not leaked"
assert html_response(conn, 200) =~ "uses HTTPS by default"
Expand Down
2 changes: 1 addition & 1 deletion web/models/site.ex
Expand Up @@ -11,7 +11,7 @@ defmodule Webbkoll.Site do
field :data, :map
field :try_count, :integer

timestamps
timestamps()
end

@required_fields ~w(input_url)
Expand Down
1 change: 0 additions & 1 deletion web/router.ex
@@ -1,7 +1,6 @@
defmodule Webbkoll.Router do
use Webbkoll.Web, :router
@default_locale Application.get_env(:webbkoll, :default_locale)
@locales Application.get_env(:webbkoll, :locales)

pipeline :browser do
plug :accepts, ["html"]
Expand Down
2 changes: 1 addition & 1 deletion web/templates/site/_headers.html.slime
Expand Up @@ -6,7 +6,7 @@
.beta
= gettext "Set?"

= for {header, description} <- headers_to_check do
= for {header, description} <- headers_to_check() do
.header-item
.alpha
| #{header}
Expand Down

0 comments on commit a044b13

Please sign in to comment.