From 99f7e0d98097e1f9a00f09c485c869db59eddc17 Mon Sep 17 00:00:00 2001 From: Amir Raminfar Date: Fri, 8 May 2020 19:45:08 -0700 Subject: [PATCH] Implements Content-Security-Policy (#442) --- __snapshots__/dozzle.snapshot | 4 +++ assets/App.spec.js | 3 ++- assets/components/LogEventSource.spec.js | 15 +++-------- assets/components/LogEventSource.vue | 3 ++- .../__snapshots__/LogEventSource.spec.js.snap | 13 +++++++++ assets/index.ejs | 13 ++++----- assets/main.js | 3 ++- assets/pages/Settings.vue | 5 ++-- assets/store/config.js | 2 ++ assets/store/index.js | 5 ++-- main.go | 18 ------------- package.json | 6 ++--- routes.go | 27 ++++++++++++++++++- webpack.config.js | 5 ++-- 14 files changed, 73 insertions(+), 49 deletions(-) create mode 100644 assets/components/__snapshots__/LogEventSource.spec.js.snap create mode 100644 assets/store/config.js diff --git a/__snapshots__/dozzle.snapshot b/__snapshots__/dozzle.snapshot index 94e150c3..27ee7616 100644 --- a/__snapshots__/dozzle.snapshot +++ b/__snapshots__/dozzle.snapshot @@ -1,6 +1,7 @@ /* snapshot: Test_createRoutes_foobar */ HTTP/1.1 200 OK Connection: close +Content-Security-Policy: default-src 'none'; script-src 'self'; style-src 'self' fonts.googleapis.com; img-src 'self'; manifest-src 'self'; font-src fonts.gstatic.com; connect-src 'self' Content-Type: text/plain; charset=utf-8 foo page @@ -8,6 +9,7 @@ foo page /* snapshot: Test_createRoutes_index */ HTTP/1.1 200 OK Connection: close +Content-Security-Policy: default-src 'none'; script-src 'self'; style-src 'self' fonts.googleapis.com; img-src 'self'; manifest-src 'self'; font-src fonts.gstatic.com; connect-src 'self' Content-Type: text/plain; charset=utf-8 index page @@ -15,6 +17,7 @@ index page /* snapshot: Test_createRoutes_redirect */ HTTP/1.1 301 Moved Permanently Connection: close +Content-Security-Policy: default-src 'none'; script-src 'self'; style-src 'self' fonts.googleapis.com; img-src 'self'; manifest-src 'self'; font-src fonts.gstatic.com; connect-src 'self' Content-Type: text/html; charset=utf-8 Location: /foobar/ @@ -23,6 +26,7 @@ Location: /foobar/ /* snapshot: Test_createRoutes_version */ HTTP/1.1 200 OK Connection: close +Content-Security-Policy: default-src 'none'; script-src 'self'; style-src 'self' fonts.googleapis.com; img-src 'self'; manifest-src 'self'; font-src fonts.gstatic.com; connect-src 'self' Content-Type: text/plain; charset=utf-8 dev diff --git a/assets/App.spec.js b/assets/App.spec.js index 57472e94..1e364e47 100644 --- a/assets/App.spec.js +++ b/assets/App.spec.js @@ -3,6 +3,8 @@ import { shallowMount, RouterLinkStub, createLocalVue } from "@vue/test-utils"; import Vuex from "vuex"; import App from "./App"; +jest.mock("./store/config.js", () => ({ base: "" })); + const localVue = createLocalVue(); localVue.use(Vuex); @@ -12,7 +14,6 @@ describe("", () => { let store; beforeEach(() => { - global.BASE_PATH = ""; global.EventSource = EventSource; const state = { containers: [ diff --git a/assets/components/LogEventSource.spec.js b/assets/components/LogEventSource.spec.js index 9a7a1c2b..c0ee97f6 100644 --- a/assets/components/LogEventSource.spec.js +++ b/assets/components/LogEventSource.spec.js @@ -13,9 +13,10 @@ jest.mock("lodash.debounce", () => }) ); +jest.mock("../store/config.js", () => ({ base: "" })); + describe("", () => { beforeEach(() => { - global.BASE_PATH = ""; global.EventSource = EventSource; MockDate.set("6/12/2019", 0); window.scrollTo = jest.fn(); @@ -57,17 +58,7 @@ describe("", () => { test("renders correctly", async () => { const wrapper = createLogEventSource(); - expect(wrapper.element).toMatchInlineSnapshot(` -
-
- -
    -
- `); + expect(wrapper.element).toMatchSnapshot(); }); test("should connect to EventSource", async () => { diff --git a/assets/components/LogEventSource.vue b/assets/components/LogEventSource.vue index 1faf0a30..cb13bc89 100644 --- a/assets/components/LogEventSource.vue +++ b/assets/components/LogEventSource.vue @@ -8,6 +8,7 @@ -