gamekey 0.0.1 → 0.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f9ecb8b16417bc3d4b331f925a40b7ac95494f0c
4
- data.tar.gz: 1e743de39cc11944d7641ca39defacf3008884e6
3
+ metadata.gz: f9021ba8301abd0b2212bac379f30853727da957
4
+ data.tar.gz: 65f3202b5b2a8b46da58317ce73634670f3a2931
5
5
  SHA512:
6
- metadata.gz: 8843401f86d92d1808a9e15810e7b9fafa29a5736459514d429651e6b61e05d75825a333a81f1f1a770a75685745c3499cf21d2b22ba22c03c541914de6eb059
7
- data.tar.gz: e1dd04395a88ed6ee40273767fe3227443e603276c723d2320388044ad5ec4d7606023d4a73836a36451210a7dd07ad1301b6561c8819093816cb039f88b1b65
6
+ metadata.gz: e9d54d1d3e9c58bfbf10356956cce144916709fbb55c7ec11db49905304d8443281a1f1866ff11aa195a74f2649dfaf7f0dd653399e82d6316c04a1e9cf816ce
7
+ data.tar.gz: 50f9540a370b0e27dc43de89e81c9c9e9b6c059e5aa3b58bf966e6f433c2f46b4c185e5a379568c34d1029aba6843e810f017e1db7fc6e1bb5e0492a54663f5a
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .idea/
@@ -4,4 +4,4 @@ You are allowed to:
4
4
  1. Remove rake task
5
5
  2. Add existing rake tasks
6
6
  To add existing rake tasks automatically delete this file and reload the project.
7
- --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build gamekey-0.0.1.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install gamekey-0.0.1.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install gamekey-0.0.1.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.0.1 and build and push gamekey-0.0.1.gem to Rubygems" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build gamekey-0.0.2.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Build and install gamekey-0.0.2.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install gamekey-0.0.2.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.0.2 and build and push gamekey-0.0.2.gem to Rubygems" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
@@ -4,7 +4,6 @@
4
4
  <list default="true" id="e21dde69-0bf9-477c-a2f0-85752ecf88a0" name="Default" comment="">
5
5
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/gamekey.iml" afterPath="$PROJECT_DIR$/.idea/gamekey.iml" />
6
6
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
7
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/gamekey.gemspec" afterPath="$PROJECT_DIR$/gamekey.gemspec" />
8
7
  </list>
9
8
  <ignored path="gamekey.iws" />
10
9
  <ignored path=".idea/workspace.xml" />
@@ -20,7 +19,7 @@
20
19
  <component name="CoverageDataManager">
21
20
  <SUITE FILE_PATH="coverage/gamekey@build__gamekey.coverage" NAME="build: gamekey Coverage Results" MODIFIED="1452602112965" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="gamekey" />
22
21
  <SUITE FILE_PATH="coverage/gamekey@gamekey.coverage" NAME="gamekey Coverage Results" MODIFIED="1449768901945" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/bin" MODULE_NAME="gamekey" />
23
- <SUITE FILE_PATH="coverage/gamekey@install__gamekey.coverage" NAME="install: gamekey Coverage Results" MODIFIED="1453377891394" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="gamekey" />
22
+ <SUITE FILE_PATH="coverage/gamekey@install__gamekey.coverage" NAME="install: gamekey Coverage Results" MODIFIED="1456236998595" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="gamekey" />
24
23
  </component>
25
24
  <component name="CreatePatchCommitExecutor">
26
25
  <option name="PATCH_PATH" value="" />
@@ -63,9 +62,6 @@
63
62
  </file>
64
63
  <file leaf-file-name="README.md" pinned="false" current-in-tab="false">
65
64
  <entry file="file://$PROJECT_DIR$/README.md">
66
- <provider editor-type-id="MultiMarkdownFxPreviewEditor">
67
- <state />
68
- </provider>
69
65
  <provider selected="true" editor-type-id="split-provider[text-editor;MultiMarkdownPreviewEditor]">
70
66
  <state split_layout="FIRST">
71
67
  <first_editor vertical-scroll-proportion="0.0">
@@ -75,6 +71,9 @@
75
71
  <second_editor />
76
72
  </state>
77
73
  </provider>
74
+ <provider editor-type-id="MultiMarkdownFxPreviewEditor">
75
+ <state />
76
+ </provider>
78
77
  </entry>
79
78
  </file>
80
79
  <file leaf-file-name="Gemfile" pinned="false" current-in-tab="false">
@@ -110,7 +109,7 @@
110
109
  <file leaf-file-name="gamekey.gemspec" pinned="false" current-in-tab="true">
111
110
  <entry file="file://$PROJECT_DIR$/gamekey.gemspec">
112
111
  <provider selected="true" editor-type-id="text-editor">
113
- <state vertical-scroll-proportion="0.22835821">
112
+ <state vertical-scroll-proportion="0.0">
114
113
  <caret line="9" column="51" selection-start-line="9" selection-start-column="51" selection-end-line="9" selection-end-column="51" />
115
114
  <folding />
116
115
  </state>
@@ -464,8 +463,8 @@
464
463
  </list>
465
464
  <recent_temporary>
466
465
  <list size="3">
467
- <item index="0" class="java.lang.String" itemvalue="Rake.install: gamekey" />
468
- <item index="1" class="java.lang.String" itemvalue="Rake.build: gamekey" />
466
+ <item index="0" class="java.lang.String" itemvalue="Rake.build: gamekey" />
467
+ <item index="1" class="java.lang.String" itemvalue="Rake.install: gamekey" />
469
468
  <item index="2" class="java.lang.String" itemvalue="Ruby.gamekey" />
470
469
  </list>
471
470
  </recent_temporary>
@@ -487,23 +486,23 @@
487
486
  <frame x="439" y="53" width="1598" height="1213" extended-state="0" />
488
487
  <editor active="false" />
489
488
  <layout>
490
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.29328164" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
489
+ <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.30684754" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
491
490
  <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
492
- <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.34879407" sideWeight="0.5497416" order="7" side_tool="true" content_ui="tabs" />
493
- <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
491
+ <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.35069767" sideWeight="0.5523256" order="7" side_tool="true" content_ui="tabs" />
494
492
  <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
495
- <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.34879407" sideWeight="0.4502584" order="2" side_tool="false" content_ui="tabs" />
496
493
  <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24921136" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
497
494
  <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
498
495
  <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
499
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
500
496
  <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
501
497
  <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
502
498
  <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
503
499
  <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
500
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.34879407" sideWeight="0.44767442" order="2" side_tool="false" content_ui="tabs" />
504
501
  <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
505
502
  <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32905984" sideWeight="0.4919564" order="1" side_tool="false" content_ui="tabs" />
503
+ <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
506
504
  <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
505
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
507
506
  </layout>
508
507
  </component>
509
508
  <component name="Vcs.Log.UiProperties">
@@ -866,14 +865,6 @@
866
865
  </state>
867
866
  </provider>
868
867
  </entry>
869
- <entry file="file://$PROJECT_DIR$/lib/auth.rb">
870
- <provider selected="true" editor-type-id="text-editor">
871
- <state vertical-scroll-proportion="0.0">
872
- <caret line="7" column="5" selection-start-line="7" selection-start-column="5" selection-end-line="7" selection-end-column="5" />
873
- <folding />
874
- </state>
875
- </provider>
876
- </entry>
877
868
  <entry file="file://$PROJECT_DIR$/lib/defaults.rb">
878
869
  <provider selected="true" editor-type-id="text-editor">
879
870
  <state vertical-scroll-proportion="0.0">
@@ -907,9 +898,6 @@
907
898
  </provider>
908
899
  </entry>
909
900
  <entry file="file://$PROJECT_DIR$/README.md">
910
- <provider editor-type-id="MultiMarkdownFxPreviewEditor">
911
- <state />
912
- </provider>
913
901
  <provider editor-type-id="text-editor">
914
902
  <state vertical-scroll-proportion="0.050974514">
915
903
  <caret line="2" column="8" selection-start-line="2" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
@@ -925,6 +913,9 @@
925
913
  <second_editor />
926
914
  </state>
927
915
  </provider>
916
+ <provider editor-type-id="MultiMarkdownFxPreviewEditor">
917
+ <state />
918
+ </provider>
928
919
  </entry>
929
920
  <entry file="file://$PROJECT_DIR$/Gemfile">
930
921
  <provider selected="true" editor-type-id="text-editor">
@@ -934,9 +925,17 @@
934
925
  </state>
935
926
  </provider>
936
927
  </entry>
928
+ <entry file="file://$PROJECT_DIR$/lib/auth.rb">
929
+ <provider selected="true" editor-type-id="text-editor">
930
+ <state vertical-scroll-proportion="0.0">
931
+ <caret line="7" column="5" selection-start-line="7" selection-start-column="5" selection-end-line="7" selection-end-column="5" />
932
+ <folding />
933
+ </state>
934
+ </provider>
935
+ </entry>
937
936
  <entry file="file://$PROJECT_DIR$/gamekey.gemspec">
938
937
  <provider selected="true" editor-type-id="text-editor">
939
- <state vertical-scroll-proportion="0.22835821">
938
+ <state vertical-scroll-proportion="0.0">
940
939
  <caret line="9" column="51" selection-start-line="9" selection-start-column="51" selection-end-line="9" selection-end-column="51" />
941
940
  <folding />
942
941
  </state>
data/README.md CHANGED
@@ -130,4 +130,10 @@ You get usage instructions via:
130
130
  Gamekey is provided via Bitbucket as a public git repository.
131
131
  So you can get all the sources via the following git command.
132
132
 
133
- $ git clone https://nanekratzke@bitbucket.org/nanekratzke/gamekey.git
133
+ $ git clone https://nanekratzke@bitbucket.org/nanekratzke/gamekey.git
134
+
135
+ ## Changelog
136
+
137
+ ### Version 0.0.2
138
+ POST /game checks now that a secret is provided.
139
+ Thanks to Jan Lukas Deichmann figuring out this bug (WebTech SoSe 2016).
@@ -9,7 +9,7 @@ require 'gamekey'
9
9
  require 'defaults'
10
10
  require 'reference'
11
11
 
12
- program :version, '0.0.1'
12
+ program :version, '0.0.2'
13
13
  program :description, 'Command to launch, manage and test the gamekey service.'
14
14
  default_command :help
15
15
 
@@ -309,6 +309,7 @@ class GamekeyService
309
309
  # @return 200 OK, on successfull creation (response body includes JSON representation of game)
310
310
  # @return 400, on invalid url (response body includes error message)
311
311
  # @return 400, on invalid name (response body includes error message)
312
+ # @return 400, on missing secret (response body includes error message)
312
313
  # @return 409, if a game with provided name already exists (response body includes error message)
313
314
  #
314
315
  post "/game" do
@@ -323,6 +324,11 @@ class GamekeyService
323
324
  return "Bad Request: '#{name}' is not a valid name"
324
325
  end
325
326
 
327
+ if (secret == nil || secret.empty?)
328
+ status 400
329
+ return "Bad Request: 'secret must be provided"
330
+ end
331
+
326
332
  if (uri != nil && !url.empty?)
327
333
  if !uri.absolute?
328
334
  status 400
@@ -1,3 +1,3 @@
1
1
  module Gamekey
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -316,6 +316,16 @@ class GamekeyReferenceTests
316
316
  uri = URI(@host)
317
317
  http = Net::HTTP.new(uri.host, uri.port)
318
318
 
319
+ # Check that game can not be created if secret is not provided.
320
+ request = Net::HTTP::Post.new("/game")
321
+ request.set_form_data({
322
+ 'name' => @game,
323
+ })
324
+ send = DateTime.now
325
+ res = http.request(request)
326
+ return "#{error('POST', '/game', "PG-0")} Could create game '#{game}' (should return HTTP code 400 due to missing secret)" if (res.code == "200")
327
+
328
+ # Check that game can be created
319
329
  request = Net::HTTP::Post.new("/game")
320
330
  request.set_form_data({
321
331
  'name' => @game,
@@ -324,7 +334,6 @@ class GamekeyReferenceTests
324
334
 
325
335
  send = DateTime.now
326
336
  res = http.request(request)
327
-
328
337
  return "#{error('POST', '/game', "PG-1")} Could not create game '#{@game}' (should return HTTP code 200, was #{res.code})\n #{res.body}".red unless (res.code == "200")
329
338
 
330
339
  begin
@@ -520,7 +529,7 @@ class GamekeyReferenceTests
520
529
  name = "A Cool Game, #{i}th Edition"
521
530
  request.set_form_data({
522
531
  "name" => name,
523
- "pwd" => ""
532
+ "secret" => "secret"
524
533
  })
525
534
  res = http.request(request)
526
535
  return "#{error('POST', '/game', "SG-1")} Creating game with name '#{name}' failed while stress testing.\n#{res.body}".red unless res.code == "200"
@@ -530,15 +539,15 @@ class GamekeyReferenceTests
530
539
  res = http.request(list_games);
531
540
  games = JSON.parse(res.body)
532
541
 
533
- return "#{error('GET', '/games', "SG-2")} Only #{games.count} users have been created. Should be 1000.".red unless games.count == 1000
542
+ return "#{error('GET', '/games', "SG-2")} Only #{games.count} games have been created. Should be 1000.".red unless games.count == 1000
534
543
 
535
544
  games.each do |game|
536
545
  delete_game = Net::HTTP::Delete.new("/game/#{game['id']}")
537
546
  delete_game.set_form_data({
538
- "pwd" => ""
547
+ "secret" => "secret"
539
548
  })
540
549
  res = http.request(delete_game)
541
- return "#{error('DELETE', '/game/id', "SG-3")} Deleting user with id '#{game['name']} (#{game['id']})' failed while stress testing.\n#{res.body}".red unless res.code == "200"
550
+ return "#{error('DELETE', '/game/id', "SG-3")} Deleting game with id '#{game['name']} (#{game['id']})' failed while stress testing.\n#{res.body}".red unless res.code == "200"
542
551
  end
543
552
 
544
553
  "Fine: Stress testing of game resources works".green
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamekey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nane Kratzke
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-21 00:00:00.000000000 Z
11
+ date: 2016-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra