revenc 0.1.3 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. data/.gemfiles +53 -0
  2. data/.gitignore +4 -8
  3. data/Gemfile.lock +42 -37
  4. data/HISTORY.markdown +9 -2
  5. data/LICENSE +1 -1
  6. data/README.markdown +33 -38
  7. data/Rakefile +24 -34
  8. data/TODO.markdown +3 -0
  9. data/VERSION +1 -1
  10. data/bin/revenc +30 -13
  11. data/config/cucumber.yml +4 -3
  12. data/examples/rsync/encrypted_data/key/encfs6.xml +27 -27
  13. data/examples/rsync/revenc.conf +2 -2
  14. data/examples/simple/encfs6.xml +27 -27
  15. data/features/app.feature +17 -17
  16. data/features/bin.feature +6 -6
  17. data/features/configuration.feature +9 -9
  18. data/features/copy.feature +15 -12
  19. data/features/generator.feature +1 -1
  20. data/features/mount.feature +14 -14
  21. data/features/settings.feature +119 -0
  22. data/features/step_definitions/revenc_steps.rb +1 -2
  23. data/features/support/aruba.rb +9 -9
  24. data/features/support/env.rb +8 -2
  25. data/features/unmount.feature +8 -8
  26. data/lib/revenc.rb +12 -3
  27. data/lib/revenc/app.rb +27 -53
  28. data/lib/revenc/core/array.rb +11 -0
  29. data/lib/revenc/core/hash.rb +45 -0
  30. data/lib/revenc/encfs_wrapper.rb +20 -24
  31. data/lib/revenc/errors.rb +3 -3
  32. data/lib/revenc/io.rb +13 -13
  33. data/lib/revenc/settings.rb +98 -0
  34. data/revenc.gemspec +28 -17
  35. data/spec/aruba_helper.rb +25 -0
  36. data/spec/basic_app/array_spec.rb +48 -0
  37. data/spec/basic_gem/aruba_helper_spec.rb +33 -0
  38. data/spec/basic_gem/basic_gem_spec.rb +71 -1
  39. data/spec/basic_gem/gemspec_spec.rb +68 -0
  40. data/spec/revenc/error_spec.rb +2 -2
  41. data/spec/revenc/io_spec.rb +12 -12
  42. data/spec/spec_helper.rb +4 -9
  43. data/spec/watchr.rb +48 -26
  44. metadata +120 -177
  45. data/.yardopts +0 -6
  46. data/spec/spec.opts +0 -2
@@ -1,7 +1,8 @@
1
1
  <%
2
2
  rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
- rerun_opts = rerun.to_s.strip.empty? ? "--format pretty features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
- std_opts = "#{rerun_opts} --format rerun --out rerun.txt --strict --tags ~@wip"
3
+ rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
5
5
  %>
6
- default: <%= std_opts %>
6
+ default: <%= std_opts %> features
7
7
  wip: --tags @wip:3 --wip features
8
+ rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
@@ -2,34 +2,34 @@
2
2
  <!DOCTYPE boost_serialization>
3
3
  <boost_serialization signature="serialization::archive" version="4">
4
4
  <config class_id="0" tracking_level="1" version="20080816" object_id="_0">
5
- <creator>EncFS 1.5</creator>
6
- <cipherAlg class_id="1" tracking_level="0" version="0">
7
- <name>ssl/aes</name>
8
- <major>2</major>
9
- <minor>2</minor>
10
- </cipherAlg>
11
- <nameAlg>
12
- <name>nameio/null</name>
13
- <major>1</major>
14
- <minor>0</minor>
15
- </nameAlg>
16
- <keySize>128</keySize>
17
- <blockSize>1024</blockSize>
18
- <uniqueIV>0</uniqueIV>
19
- <chainedNameIV>0</chainedNameIV>
20
- <externalIVChaining>0</externalIVChaining>
21
- <blockMACBytes>0</blockMACBytes>
22
- <blockMACRandBytes>0</blockMACRandBytes>
23
- <allowHoles>1</allowHoles>
24
- <encodedKeySize>36</encodedKeySize>
25
- <encodedKeyData>
5
+ <creator>EncFS 1.5</creator>
6
+ <cipherAlg class_id="1" tracking_level="0" version="0">
7
+ <name>ssl/aes</name>
8
+ <major>2</major>
9
+ <minor>2</minor>
10
+ </cipherAlg>
11
+ <nameAlg>
12
+ <name>nameio/null</name>
13
+ <major>1</major>
14
+ <minor>0</minor>
15
+ </nameAlg>
16
+ <keySize>128</keySize>
17
+ <blockSize>1024</blockSize>
18
+ <uniqueIV>0</uniqueIV>
19
+ <chainedNameIV>0</chainedNameIV>
20
+ <externalIVChaining>0</externalIVChaining>
21
+ <blockMACBytes>0</blockMACBytes>
22
+ <blockMACRandBytes>0</blockMACRandBytes>
23
+ <allowHoles>1</allowHoles>
24
+ <encodedKeySize>36</encodedKeySize>
25
+ <encodedKeyData>
26
26
  unVmAfPQFd5t4cakBxbE7uosu4tzZbo8B513iGGNynzArOKM=
27
- </encodedKeyData>
28
- <saltLen>20</saltLen>
29
- <saltData>
27
+ </encodedKeyData>
28
+ <saltLen>20</saltLen>
29
+ <saltData>
30
30
  IcFy11sZw/w7juCI+Cro8AZVp6Q
31
- </saltData>
32
- <kdfIterations>97493</kdfIterations>
33
- <desiredKDFDuration>500</desiredKDFDuration>
31
+ </saltData>
32
+ <kdfIterations>97493</kdfIterations>
33
+ <desiredKDFDuration>500</desiredKDFDuration>
34
34
  </config>
35
35
  </boost_serialization>
@@ -7,12 +7,12 @@ mount:
7
7
  name: scripts/passphrase
8
8
  keyfile:
9
9
  name: encrypted_data/key/encfs6.xml
10
- cmd: cat <%%= passphrasefile.name %> | ENCFS6_CONFIG=<%%= keyfile.name %> <%%= executable %> --stdinpass --reverse <%%= source.name %> <%%= mountpoint.name %> -- -o ro
10
+ cmd: cat <%= passphrasefile.name %> | ENCFS6_CONFIG=<%= keyfile.name %> <%= executable %> --stdinpass --reverse <%= source.name %> <%= mountpoint.name %> -- -o ro
11
11
  copy:
12
12
  source:
13
13
  name: encrypted_data # sync the encrypted data as well as the key
14
14
  destination:
15
15
  name: copy_destination # could be a remote host instead of a folder, i.e. user1@example.com:backups/here
16
16
  executable: rsync
17
- cmd: <%%= executable %> --perms --links --times --recursive --verbose --compress --stats --human-readable --inplace <%%= source.name %> <%%= destination.name %>
17
+ cmd: <%= executable %> --perms --links --times --recursive --verbose --compress --stats --human-readable --inplace <%= source.name %> <%= destination.name %>
18
18
 
@@ -2,34 +2,34 @@
2
2
  <!DOCTYPE boost_serialization>
3
3
  <boost_serialization signature="serialization::archive" version="4">
4
4
  <config class_id="0" tracking_level="1" version="20080816" object_id="_0">
5
- <creator>EncFS 1.5</creator>
6
- <cipherAlg class_id="1" tracking_level="0" version="0">
7
- <name>ssl/aes</name>
8
- <major>2</major>
9
- <minor>2</minor>
10
- </cipherAlg>
11
- <nameAlg>
12
- <name>nameio/null</name>
13
- <major>1</major>
14
- <minor>0</minor>
15
- </nameAlg>
16
- <keySize>128</keySize>
17
- <blockSize>1024</blockSize>
18
- <uniqueIV>0</uniqueIV>
19
- <chainedNameIV>0</chainedNameIV>
20
- <externalIVChaining>0</externalIVChaining>
21
- <blockMACBytes>0</blockMACBytes>
22
- <blockMACRandBytes>0</blockMACRandBytes>
23
- <allowHoles>1</allowHoles>
24
- <encodedKeySize>36</encodedKeySize>
25
- <encodedKeyData>
5
+ <creator>EncFS 1.5</creator>
6
+ <cipherAlg class_id="1" tracking_level="0" version="0">
7
+ <name>ssl/aes</name>
8
+ <major>2</major>
9
+ <minor>2</minor>
10
+ </cipherAlg>
11
+ <nameAlg>
12
+ <name>nameio/null</name>
13
+ <major>1</major>
14
+ <minor>0</minor>
15
+ </nameAlg>
16
+ <keySize>128</keySize>
17
+ <blockSize>1024</blockSize>
18
+ <uniqueIV>0</uniqueIV>
19
+ <chainedNameIV>0</chainedNameIV>
20
+ <externalIVChaining>0</externalIVChaining>
21
+ <blockMACBytes>0</blockMACBytes>
22
+ <blockMACRandBytes>0</blockMACRandBytes>
23
+ <allowHoles>1</allowHoles>
24
+ <encodedKeySize>36</encodedKeySize>
25
+ <encodedKeyData>
26
26
  BjZ2dl0VE8ezDBvAwgxLo1ODmnrLlawYrlfhG8Fe3wcQBzZu=
27
- </encodedKeyData>
28
- <saltLen>20</saltLen>
29
- <saltData>
27
+ </encodedKeyData>
28
+ <saltLen>20</saltLen>
29
+ <saltData>
30
30
  tPmiXlNgrbvvSlnGcqe4aCjGWGY
31
- </saltData>
32
- <kdfIterations>83342</kdfIterations>
33
- <desiredKDFDuration>500</desiredKDFDuration>
31
+ </saltData>
32
+ <kdfIterations>83342</kdfIterations>
33
+ <desiredKDFDuration>500</desiredKDFDuration>
34
34
  </config>
35
35
  </boost_serialization>
@@ -2,21 +2,21 @@
2
2
  Feature: Application actions, configuration and error handling
3
3
 
4
4
  As an interactive user or automated script
5
- The application should accept actions and report errors
5
+ The application should accept actions and report errors
6
6
 
7
7
  Scenario: No command line action
8
- When I run "revenc"
8
+ When I run `revenc`
9
9
  Then the exit status should be 1
10
- And the output should match:
10
+ And the output should match:
11
11
  """
12
12
  ^.* action required
13
13
  ^.* --help for more information
14
14
  """
15
15
 
16
16
  Scenario: Invalid action
17
- When I run "revenc non-existing-action"
17
+ When I run `revenc non-existing-action`
18
18
  Then the exit status should be 1
19
- And the output should match:
19
+ And the output should match:
20
20
  """
21
21
  ^.* invalid action: non-existing-action
22
22
  ^.* --help for more information
@@ -25,35 +25,35 @@ Feature: Application actions, configuration and error handling
25
25
 
26
26
  Scenario: --config FILE (exists)
27
27
  Given an empty file named "config.conf"
28
- When I run "revenc mount --verbose --config config.conf"
29
- Then the output should contain:
28
+ When I run `revenc mount --verbose --config config.conf`
29
+ Then the output should contain:
30
30
  """
31
- loading config file: config.conf
31
+ config file: config.conf
32
32
  """
33
33
 
34
34
  Scenario: --config FILE (not found)
35
- When I run "revenc mount --verbose --config config.conf"
36
- Then the output should not contain:
35
+ When I run `revenc mount --verbose --config config.conf`
36
+ Then the output should not contain:
37
37
  """
38
- loading config file: config.conf
38
+ config file: config.conf
39
39
  """
40
- And the output should contain:
40
+ And the output should contain:
41
41
  """
42
- config file not found
42
+ config file not found
43
43
  """
44
44
 
45
45
  Scenario: Backtrace with --verbose option
46
- When I run "revenc --verbose mount bad_source bad_dest"
46
+ When I run `revenc --verbose mount bad_source bad_dest`
47
47
  Then the exit status should be 1
48
- And the output should match:
48
+ And the output should match:
49
49
  """
50
50
  lib/(.*)/app.rb
51
51
  """
52
52
 
53
53
  Scenario: No backtrace without --verbose option
54
- When I run "revenc mount bad_source bad_dest --no-verbose"
54
+ When I run `revenc mount bad_source bad_dest --no-verbose`
55
55
  Then the exit status should be 1
56
- And the output should not contain:
56
+ And the output should not contain:
57
57
  """
58
58
  /app.rb:
59
59
  """
@@ -3,18 +3,18 @@ Feature: Options via a command line interface (CLI)
3
3
 
4
4
  As an interactive user or automated script
5
5
  The application should accept options on the command line
6
- These options should override hard coded defaults
6
+ These options should override hard coded defaults
7
7
  In order to configure options
8
8
 
9
9
  Scenario: Version info
10
- When I run "revenc --version"
10
+ When I run `revenc --version`
11
11
  Then the exit status should be 0
12
12
  And the output should match /revenc, version ([\d]+\.[\d]+\.[\d]+$)/
13
13
 
14
14
  Scenario: Help
15
- When I run "revenc --help"
15
+ When I run `revenc --help`
16
16
  Then the exit status should be 0
17
- And the output should match:
17
+ And the output should match:
18
18
  """
19
19
  .*
20
20
  Usage: .*
@@ -25,9 +25,9 @@ Feature: Options via a command line interface (CLI)
25
25
  """
26
26
 
27
27
  Scenario: Invalid option
28
- When I run "revenc --non-existing-option"
28
+ When I run `revenc --non-existing-option`
29
29
  Then the exit status should be 1
30
- And the output should match:
30
+ And the output should match:
31
31
  """
32
32
  ^.* invalid option: --non-existing-option
33
33
  ^.* --help for more information
@@ -19,23 +19,23 @@ Feature: Configuration via yaml file
19
19
  keyfile:
20
20
  name: encfs6.xml
21
21
  executable: echo
22
- cmd: cat <%%= passphrasefile.name %> | ENCFS6_CONFIG=<%%= keyfile.name %> <%%= executable %> --stdinpass --reverse <%%= source.name %> <%%= mountpoint.name %> -- -o ro
22
+ cmd: cat <%= passphrasefile.name %> | ENCFS6_CONFIG=<%= keyfile.name %> <%= executable %> --stdinpass --reverse <%= source.name %> <%= mountpoint.name %> -- -o ro
23
23
  unmount:
24
24
  mountpoint:
25
25
  name: defaults_to_mount_mountpoint
26
26
  executable: echo
27
- cmd: <%%= executable %> -u <%%= name %>
27
+ cmd: <%= executable %> -u <%= name %>
28
28
  copy:
29
29
  source:
30
30
  name: copy_source_defaults_to_mount_mountpoint
31
31
  destination:
32
32
  name: copy_to_destination
33
33
  executable: echo
34
- cmd: <%%= executable %> -e ssh --bwlimit=16 --perms --links --times --recursive --verbose --compress --stats --human-readable --inplace <%%= source.name %> <%%= destination.name %>
34
+ cmd: <%= executable %> -e ssh --bwlimit=16 --perms --links --times --recursive --verbose --compress --stats --human-readable --inplace <%= source.name %> <%= destination.name %>
35
35
  """
36
36
 
37
37
  Scenario: Mount with a config file
38
- When I run "revenc --verbose --dry-run mount"
38
+ When I run `revenc --verbose --dry-run mount`
39
39
  Then the output should contain:
40
40
  """
41
41
  mount: source=source_folder_name
@@ -47,7 +47,7 @@ Feature: Configuration via yaml file
47
47
  """
48
48
 
49
49
  Scenario: Unmount with a config file
50
- When I run "revenc unmount --verbose --dry-run"
50
+ When I run `revenc unmount --verbose --dry-run`
51
51
  Then the output should contain:
52
52
  """
53
53
  unmount: mountpoint=defaults_to_mount_mountpoint
@@ -55,21 +55,21 @@ Feature: Configuration via yaml file
55
55
  unmount: executable=/bin/echo
56
56
  """
57
57
 
58
- Scenario: Unmount with a config file missing unmount.mountpoint
58
+ Scenario: Unmount with a config file missing unmount.mountpoint
59
59
  Given a file named "revenc.conf" with:
60
60
  """
61
61
  mount:
62
62
  mountpoint:
63
63
  name: unmount_mountpoint_defaults_to_me
64
64
  """
65
- When I run "revenc unmount --verbose --dry-run"
65
+ When I run `revenc unmount --verbose --dry-run`
66
66
  Then the output should contain:
67
67
  """
68
68
  unmount: mountpoint=unmount_mountpoint_defaults_to_me
69
69
  """
70
70
 
71
71
  Scenario: Copy with a config file
72
- When I run "revenc copy --verbose --dry-run"
72
+ When I run `revenc copy --verbose --dry-run`
73
73
  Then the output should contain:
74
74
  """
75
75
  copy: source=copy_source_defaults_to_mount_mountpoint
@@ -88,7 +88,7 @@ Feature: Configuration via yaml file
88
88
  destination:
89
89
  name: copy_to_destination
90
90
  """
91
- When I run "revenc copy --verbose --dry-run"
91
+ When I run `revenc copy --verbose --dry-run`
92
92
  Then the output should contain:
93
93
  """
94
94
  copy: source=copy_source_defaults_to_me
@@ -6,7 +6,7 @@ Feature: Copy encrypted data to another location via rsync
6
6
  And lock the process to prevent automated recursion on long running copy commands
7
7
  In order to backup the data and allow recovery of the unencrypted data
8
8
 
9
- Scenario: Sucessful copy
9
+ Scenario: Successful copy with non-default ERB copy cmd
10
10
  Given a directory named "encrypted_source_folder"
11
11
  Given a directory named "encrypted_destination"
12
12
  Given an empty file named "encrypted_source_folder/test_data1.txt"
@@ -16,14 +16,17 @@ Feature: Copy encrypted data to another location via rsync
16
16
  mount:
17
17
  mountpoint:
18
18
  name: encrypted_source_folder
19
+ copy:
20
+ executable: cp
21
+ cmd: <%= executable %> -r <%= source.name %> <%= destination.name %>
19
22
  """
20
- When I run "revenc copy encrypted_source_folder encrypted_destination"
23
+ When I run `revenc copy encrypted_source_folder encrypted_destination`
21
24
  Then the exit status should be 0
22
25
  And the following files should exist:
23
26
  | encrypted_destination/encrypted_source_folder/test_data1.txt |
24
27
  | encrypted_destination/encrypted_source_folder/test_data2.txt |
25
28
 
26
- Scenario: Sucessful copy dry run
29
+ Scenario: Successful copy dry run
27
30
  Given a directory named "encrypted_source_folder"
28
31
  Given a directory named "encrypted_destination"
29
32
  Given an empty file named "encrypted_source_folder/test_data1.txt"
@@ -34,7 +37,7 @@ Feature: Copy encrypted data to another location via rsync
34
37
  mountpoint:
35
38
  name: encrypted_source_folder
36
39
  """
37
- When I run "revenc copy --dry-run encrypted_source_folder encrypted_destination"
40
+ When I run `revenc copy --dry-run encrypted_source_folder encrypted_destination`
38
41
  Then the exit status should be 0
39
42
  And the following files should not exist:
40
43
  | encrypted_destination/encrypted_source_folder/test_data1.txt |
@@ -58,7 +61,7 @@ Feature: Copy encrypted data to another location via rsync
58
61
  """
59
62
 
60
63
  Scenario: Source folder not specified
61
- When I run "revenc copy"
64
+ When I run `revenc copy`
62
65
  Then the exit status should be 1
63
66
  And the output should contain:
64
67
  """
@@ -66,7 +69,7 @@ Feature: Copy encrypted data to another location via rsync
66
69
  """
67
70
 
68
71
  Scenario: Destination not specified
69
- When I run "revenc copy encrypted_source_folder"
72
+ When I run `revenc copy encrypted_source_folder`
70
73
  Then the exit status should be 1
71
74
  And the output should contain:
72
75
  """
@@ -74,7 +77,7 @@ Feature: Copy encrypted data to another location via rsync
74
77
  """
75
78
 
76
79
  Scenario: Source folder doesn't exist
77
- When I run "revenc copy encrypted_source_folder encrypted_destination"
80
+ When I run `revenc copy encrypted_source_folder encrypted_destination`
78
81
  Then the exit status should be 1
79
82
  And the output should contain:
80
83
  """
@@ -83,7 +86,7 @@ Feature: Copy encrypted data to another location via rsync
83
86
 
84
87
  Scenario: Source folder is empty
85
88
  Given a directory named "encrypted_source_folder"
86
- When I run "revenc copy encrypted_source_folder encrypted_destination"
89
+ When I run `revenc copy encrypted_source_folder encrypted_destination`
87
90
  Then the exit status should be 1
88
91
  And the output should contain:
89
92
  """
@@ -106,7 +109,7 @@ Feature: Copy encrypted data to another location via rsync
106
109
  destination:
107
110
  name: copy_to_destination
108
111
  """
109
- When I run "revenc copy --verbose --dry-run"
112
+ When I run `revenc copy --verbose --dry-run`
110
113
  Then the output should contain:
111
114
  """
112
115
  mountpoint is empty
@@ -127,7 +130,7 @@ Feature: Copy encrypted data to another location via rsync
127
130
  destination:
128
131
  name: copy_to_destination
129
132
  """
130
- When I run "revenc copy --verbose --dry-run"
133
+ When I run `revenc copy --verbose --dry-run`
131
134
  Then the output should contain:
132
135
  """
133
136
  mountpoint not found
@@ -145,7 +148,7 @@ Feature: Copy encrypted data to another location via rsync
145
148
  destination:
146
149
  name: copy_to_destination
147
150
  """
148
- When I run "revenc copy --verbose --dry-run"
151
+ When I run `revenc copy --verbose --dry-run`
149
152
  Then the output should not contain:
150
153
  """
151
154
  mountpoint not found
@@ -161,7 +164,7 @@ Feature: Copy encrypted data to another location via rsync
161
164
  copy:
162
165
  executable: missing_bin_file
163
166
  """
164
- When I run "revenc copy encrypted_source_folder encrypted_destination"
167
+ When I run `revenc copy encrypted_source_folder encrypted_destination`
165
168
  Then the exit status should be 1
166
169
  And the output should contain:
167
170
  """
@@ -6,7 +6,7 @@ Feature: Generate config files
6
6
  To save the hassle of manual config file creation
7
7
  And provide reasonable starting default values
8
8
 
9
- Scenario: Sucessful generate
9
+ Scenario: Successful generate
10
10
 
11
11
  Scenario: Config file already exists
12
12
 
@@ -1,9 +1,9 @@
1
1
  @announce
2
2
  Feature: Reverse mount encrypted folder using encfs
3
3
 
4
- As a user with unencrypted data
4
+ As a user with unencrypted data
5
5
  I need to mount an encrypted folder from an unencrypted folder
6
- In order to backup the encrypted folder to untrusted systems
6
+ In order to backup the encrypted folder to untrusted systems
7
7
 
8
8
  @unmount_after
9
9
  Scenario: Successful mount
@@ -15,7 +15,7 @@ Feature: Reverse mount encrypted folder using encfs
15
15
  """
16
16
  test
17
17
  """
18
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
18
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
19
19
  Then the output should not contain "For more information, see the man page encfs(1)"
20
20
  And the exit status should be 0
21
21
 
@@ -28,12 +28,12 @@ Feature: Reverse mount encrypted folder using encfs
28
28
  """
29
29
  test
30
30
  """
31
- When I run "revenc --dry-run mount unencrypted_source_folder encrypted_destination_folder"
31
+ When I run `revenc --dry-run mount unencrypted_source_folder encrypted_destination_folder`
32
32
  Then the exit status should be 0
33
33
  And the folder "encrypted_destination_folder" should not be mounted
34
34
 
35
35
  Scenario: Source folder not specified
36
- When I run "revenc mount"
36
+ When I run `revenc mount`
37
37
  Then the exit status should be 1
38
38
  And the output should contain:
39
39
  """
@@ -41,7 +41,7 @@ Feature: Reverse mount encrypted folder using encfs
41
41
  """
42
42
 
43
43
  Scenario: Destination mount point not specified
44
- When I run "revenc mount unencrypted_source_folder"
44
+ When I run `revenc mount unencrypted_source_folder`
45
45
  Then the exit status should be 1
46
46
  And the output should contain:
47
47
  """
@@ -50,7 +50,7 @@ Feature: Reverse mount encrypted folder using encfs
50
50
 
51
51
  Scenario: Source folder doesn't exist
52
52
  Given a directory named "encrypted_destination_folder"
53
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
53
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
54
54
  Then the exit status should be 1
55
55
  And the output should contain:
56
56
  """
@@ -60,7 +60,7 @@ Feature: Reverse mount encrypted folder using encfs
60
60
  Scenario: Destination mount point doesn't exist
61
61
  Given a directory named "unencrypted_source_folder"
62
62
  Given an empty file named "unencrypted_source_folder/test_data.txt"
63
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
63
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
64
64
  Then the exit status should be 1
65
65
  And the output should contain:
66
66
  """
@@ -72,7 +72,7 @@ Feature: Reverse mount encrypted folder using encfs
72
72
  Given an empty file named "unencrypted_source_folder/test_data.txt"
73
73
  Given a directory named "encrypted_destination_folder"
74
74
  Given an empty file named "encrypted_destination_folder/should_not_be_here.txt"
75
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
75
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
76
76
  Then the exit status should be 1
77
77
  And the output should contain:
78
78
  """
@@ -83,7 +83,7 @@ Feature: Reverse mount encrypted folder using encfs
83
83
  Given a directory named "unencrypted_source_folder"
84
84
  Given an empty file named "unencrypted_source_folder/test_data.txt"
85
85
  Given a directory named "encrypted_destination_folder"
86
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
86
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
87
87
  Then the exit status should be 1
88
88
  And the output should contain:
89
89
  """
@@ -95,7 +95,7 @@ Feature: Reverse mount encrypted folder using encfs
95
95
  Given an empty file named "unencrypted_source_folder/test_data.txt"
96
96
  Given a directory named "encrypted_destination_folder"
97
97
  Given an empty file named "passphrase"
98
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
98
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
99
99
  Then the exit status should be 1
100
100
  And the output should contain:
101
101
  """
@@ -103,7 +103,7 @@ Feature: Reverse mount encrypted folder using encfs
103
103
  """
104
104
 
105
105
  Scenario: Key file not found
106
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
106
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
107
107
  Then the exit status should be 1
108
108
  And the output should contain:
109
109
  """
@@ -112,7 +112,7 @@ Feature: Reverse mount encrypted folder using encfs
112
112
 
113
113
  Scenario: Key file is empty
114
114
  Given an empty file named "encfs6.xml"
115
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
115
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
116
116
  Then the exit status should be 1
117
117
  And the output should contain:
118
118
  """
@@ -125,7 +125,7 @@ Feature: Reverse mount encrypted folder using encfs
125
125
  mount:
126
126
  executable: missing_bin_file
127
127
  """
128
- When I run "revenc mount unencrypted_source_folder encrypted_destination_folder"
128
+ When I run `revenc mount unencrypted_source_folder encrypted_destination_folder`
129
129
  Then the exit status should be 1
130
130
  And the output should contain:
131
131
  """