coppertone 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +119 -68
- data/lib/coppertone/utils/domain_utils.rb +1 -1
- data/lib/coppertone/version.rb +1 -1
- data/spec/utils/domain_utils_spec.rb +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3eb3fb44816bf803f4cc195a29d87ae442e23d4e7f61d71d31eeee858a2b0e8
|
4
|
+
data.tar.gz: f9211184ee03223a0aa04c0be495d7e7a90e6e294869a5469c2540c0dc8637a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22fb16e9e7495392c976d1d22fd96c5ee31f788a03131aa070ce8a308a7641c86096781ff64642c497862254c9500a0bce78e9f70ed2099e56ccf78f0f30e632
|
7
|
+
data.tar.gz: 4aeb6e1a5f85c6492103267b75354cffb12cf5f74ab5be8f0cbb979c85113a54610f8c411d5239ad280ef9a0fa8f41216ccc8b5e2c44f73d6f0bf40f4330cdff
|
data/.circleci/config.yml
CHANGED
@@ -1,79 +1,130 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
# CircleCI 2.1: https://circleci.com/docs/2.0/configuration-reference/
|
2
|
+
version: 2.1
|
3
|
+
|
4
|
+
# To avoid DockerHub rate limiting we need to auth with our Valimail DockerHub
|
5
|
+
# user's API access token. If you add a new shared context, make sure
|
6
|
+
# these environment variables are added to it with the credentials from 1Password.
|
7
|
+
# https://app.circleci.com/settings/organization/github/ValiMail/contexts
|
8
|
+
docker-auth: &docker-auth
|
9
|
+
auth:
|
10
|
+
username: $DOCKERHUB_USERNAME
|
11
|
+
password: $DOCKERHUB_PASSWORD
|
12
|
+
|
13
|
+
# Orbs are packages of config that you can import by name or configure inline.
|
14
|
+
orbs:
|
15
|
+
# Our orb for managing dependencies
|
16
|
+
# Reference: https://circleci.com/orbs/registry/orb/valimail/dependency-manager
|
17
|
+
# Source: https://github.com/ValiMail/dependency-manager-orb
|
18
|
+
dependency-manager: valimail/dependency-manager@0.4.8
|
19
|
+
|
20
|
+
|
21
|
+
# Commands are reusable sets of steps invokable with parameters inside a job.
|
22
|
+
commands:
|
23
|
+
test:
|
24
|
+
steps:
|
25
|
+
- run:
|
26
|
+
name: Run test suite
|
27
|
+
command: bundle exec rspec --format progress --format RspecJunitFormatter --out /tmp/test-results/rspec/results.xml
|
28
|
+
|
29
|
+
build-gem:
|
30
|
+
steps:
|
31
|
+
- run:
|
32
|
+
name: Build gem
|
33
|
+
command: bundle exec rake build
|
34
|
+
|
35
|
+
report_coverage:
|
36
|
+
steps:
|
37
|
+
- run:
|
38
|
+
name: Report code coverage to Coveralls, in parallel
|
39
|
+
command: wget -cq https://coveralls.io/coveralls-linux.tar.gz -O - | tar -xz && ./coveralls --parallel
|
40
|
+
|
41
|
+
finish_coverage:
|
42
|
+
steps:
|
43
|
+
- run:
|
44
|
+
name: Inform Coveralls that parallel jobs are all done
|
45
|
+
command: wget -cq https://coveralls.io/coveralls-linux.tar.gz -O - | tar -xz && ./coveralls --done
|
46
|
+
|
47
|
+
# Executors define the environment in which the steps of a job will be run.
|
48
|
+
executors:
|
49
|
+
ruby-system:
|
50
|
+
|
51
|
+
parameters:
|
52
|
+
ruby-version:
|
53
|
+
description: Ruby version to use, passed in as a string
|
54
|
+
type: string
|
55
|
+
default: "2.7"
|
5
56
|
|
6
|
-
- &defaults
|
7
|
-
working_directory: ~/repo
|
8
57
|
docker:
|
9
|
-
- image:
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
name: install root dependencies
|
14
|
-
command: |
|
15
|
-
gem install bundler && bundle install --jobs=4 --retry=3 --path vendor/bundle
|
16
|
-
|
17
|
-
- &step_make_test_output_directory
|
18
|
-
run:
|
19
|
-
name: create test metadata directory
|
20
|
-
command: mkdir /tmp/test-results
|
21
|
-
|
22
|
-
- &step_run_rspec_tests
|
23
|
-
run:
|
24
|
-
name: run rspec with simplecov
|
25
|
-
command: |
|
26
|
-
TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
|
27
|
-
|
28
|
-
COVERAGE=true bundle exec rspec \
|
29
|
-
--format progress \
|
30
|
-
--format RspecJunitFormatter \
|
31
|
-
--out /tmp/test-results/rspec.xml \
|
32
|
-
${TEST_FILES}
|
33
|
-
|
34
|
-
- &step_store_test_results
|
35
|
-
store_test_results:
|
36
|
-
path: /tmp/test-results
|
37
|
-
|
38
|
-
- &step_store_test_artifacts
|
39
|
-
store_artifacts:
|
40
|
-
path: /tmp/test-results
|
41
|
-
destination: test-results
|
42
|
-
|
43
|
-
- &step_store_coverage_artifacts
|
44
|
-
store_artifacts:
|
45
|
-
path: coverage
|
46
|
-
destination: coverage
|
58
|
+
- image: cimg/ruby:<< parameters.ruby-version >>
|
59
|
+
<<: *docker-auth
|
60
|
+
environment:
|
61
|
+
BUNDLE_PATH: vendor/bundle
|
47
62
|
|
63
|
+
|
64
|
+
# Jobs have two parts: the execution environment and a set of steps.
|
48
65
|
jobs:
|
49
|
-
|
50
|
-
|
66
|
+
ruby-3_0:
|
67
|
+
executor:
|
68
|
+
name: ruby-system
|
69
|
+
ruby-version: "3.0"
|
70
|
+
steps:
|
71
|
+
- checkout
|
72
|
+
- dependency-manager/install-gems:
|
73
|
+
cache-version: v2
|
74
|
+
- test
|
75
|
+
- report_coverage
|
76
|
+
- build-gem
|
77
|
+
|
78
|
+
ruby-2_7:
|
79
|
+
executor:
|
80
|
+
name: ruby-system
|
81
|
+
ruby-version: "2.7"
|
51
82
|
steps:
|
52
83
|
- checkout
|
53
|
-
-
|
84
|
+
- dependency-manager/install-gems:
|
85
|
+
cache-version: v2
|
86
|
+
- test
|
87
|
+
- report_coverage
|
88
|
+
- build-gem
|
89
|
+
|
90
|
+
lint-job:
|
91
|
+
executor: ruby-system
|
92
|
+
steps:
|
93
|
+
- checkout
|
94
|
+
- dependency-manager/install-gems:
|
95
|
+
cache-version: v2
|
96
|
+
- run:
|
97
|
+
name: Lint Ruby
|
98
|
+
command: bundle exec rubocop
|
99
|
+
- run:
|
100
|
+
name: Scan for Ruby gem vulnerabilties
|
101
|
+
command: |
|
102
|
+
gem install bundler-audit
|
103
|
+
bundle audit check --update
|
54
104
|
- run:
|
55
|
-
name:
|
105
|
+
name: Scan for Ruby and RubyGems vulnerabilties
|
56
106
|
command: |
|
57
|
-
bundle
|
107
|
+
bundle add ruby_audit --group "test"
|
108
|
+
bundle exec ruby-audit check
|
58
109
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
- checkout
|
65
|
-
- *step_install_root_dependencies
|
66
|
-
- *step_make_test_output_directory
|
67
|
-
- *step_run_rspec_tests
|
68
|
-
- *step_store_test_results
|
69
|
-
- *step_store_test_artifacts
|
70
|
-
- *step_store_coverage_artifacts
|
110
|
+
finish-coverage:
|
111
|
+
resource_class: small
|
112
|
+
executor: ruby-system
|
113
|
+
steps:
|
114
|
+
- finish_coverage
|
71
115
|
|
116
|
+
# Workflows are sequences of jobs.
|
72
117
|
workflows:
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
118
|
+
build:
|
119
|
+
jobs:
|
120
|
+
- ruby-2_7:
|
121
|
+
context: valimail-saas-tokens
|
122
|
+
- ruby-3_0:
|
123
|
+
context: valimail-saas-tokens
|
124
|
+
- finish-coverage:
|
125
|
+
context: valimail-saas-tokens
|
126
|
+
requires:
|
127
|
+
- ruby-2_7
|
128
|
+
- ruby-3_0
|
129
|
+
- lint-job:
|
130
|
+
context: valimail-saas-tokens
|
data/lib/coppertone/version.rb
CHANGED
@@ -49,6 +49,12 @@ describe Coppertone::Utils::DomainUtils do
|
|
49
49
|
expect(subject.valid?('rst.*.example.com')).to eq(true)
|
50
50
|
end
|
51
51
|
|
52
|
+
it 'should reject domains with ampersands' do
|
53
|
+
expect(subject.valid?('@dmarc.126.com')).to eq(false)
|
54
|
+
expect(subject.valid?('abcd@domainkey.gmail.com')).to eq(false)
|
55
|
+
expect(subject.valid?('abcd.x@domainkey.gmail.com')).to eq(false)
|
56
|
+
end
|
57
|
+
|
52
58
|
it 'should reject IP addresses' do
|
53
59
|
expect(subject.valid?('192.38.7.14')).to eq(false)
|
54
60
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coppertone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter M. Goldstein
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|