Skip to content
This repository has been archived by the owner on Jan 1, 2024. It is now read-only.

Commit

Permalink
Switch to new saver group/kata create() methods
Browse files Browse the repository at this point in the history
  • Loading branch information
JonJagger committed Aug 15, 2021
1 parent 7951ac3 commit 135589f
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 79 deletions.
4 changes: 2 additions & 2 deletions source/server/code/app.rb
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ def create_group(args)
if args.has_key?(:display_name)
creator.group_create_custom(**args)
else
args[:exercise_name] ||= nil
args[:exercise_name] ||= ""
creator.group_create(**args)
end
end
Expand All @@ -168,7 +168,7 @@ def create_kata(args)
if args.has_key?(:display_name)
creator.kata_create_custom(**args)
else
args[:exercise_name] ||= nil
args[:exercise_name] ||= ""
creator.kata_create(**args)
end
end
Expand Down
74 changes: 17 additions & 57 deletions source/server/code/creator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,63 +8,37 @@ def initialize(externals)

# - - - - - - - - - - - - - - - - - - - - - -

def group_create_custom(display_name:, options:default_options)
create_group(custom_manifest(display_name), options)
def group_create_custom(display_name:)
id = saver.group_create_custom(display_name)
manifest = saver.group_manifest(id)
pull_image_onto_nodes(id, manifest['image_name'])
id
end

def kata_create_custom(display_name:, options:default_options)
create_kata(custom_manifest(display_name), options)
def group_create(language_name:, exercise_name:)
id = saver.group_create2(language_name, exercise_name)
manifest = saver.group_manifest(id)
pull_image_onto_nodes(id, manifest['image_name'])
id
end

# - - - - - - - - - - - - - - - - - - - - - -

def group_create(exercise_name:, language_name:, options:default_options)
create_group(manifest(exercise_name, language_name), options)
end

def kata_create(exercise_name:, language_name:, options:default_options)
create_kata(manifest(exercise_name, language_name), options)
end

private

def default_options
{}
end

#- - - - - - - - - - - - - - - - - -

def create_group(manifest, options)
id = saver.group_create([manifest], options)
def kata_create_custom(display_name:)
id = saver.kata_create_custom(display_name)
manifest = saver.kata_manifest(id)
pull_image_onto_nodes(id, manifest['image_name'])
id
end

#- - - - - - - - - - - - - - - - - -

def create_kata(manifest, options)
id = saver.kata_create(manifest, options)
def kata_create(language_name:, exercise_name:)
id = saver.kata_create2(language_name, exercise_name)
manifest = saver.kata_manifest(id)
pull_image_onto_nodes(id, manifest['image_name'])
id
end

#- - - - - - - - - - - - - - - - - -

def custom_manifest(display_name)
custom_start_points.manifest(display_name)
end

def manifest(exercise_name, language_name)
result = languages_start_points.manifest(language_name)
unless exercise_name.nil?
exercise = exercises_start_points.manifest(exercise_name)
result['visible_files'].merge!(exercise['visible_files'])
result['exercise'] = exercise['display_name']
end
result
end

#- - - - - - - - - - - - - - - - - -
private

def pull_image_onto_nodes(id, image_name)
# runner is deployed as a kubernetes daemonSet which
Expand All @@ -79,20 +53,6 @@ def pull_image_onto_nodes(id, image_name)

#- - - - - - - - - - - - - - - - - -

def custom_start_points
@externals.custom_start_points
end

def exercises_start_points
@externals.exercises_start_points
end

def languages_start_points
@externals.languages_start_points
end

#- - - - - - - - - - - - - - - - - -

def runner
@externals.runner
end
Expand Down
2 changes: 1 addition & 1 deletion source/server/code/external_languages_start_points.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def display_names
def manifests
@http.get(:manifests, {})
end

def manifest(display_name)
@http.get(__method__, { name:display_name })
end
Expand Down
42 changes: 38 additions & 4 deletions source/server/code/external_saver.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,29 @@ def ready?

# - - - - - - - - - - - - - - - - - - -

def group_create_custom(display_name)
@http.post(__method__, {
version: CURRENT_VERSION,
display_name: display_name
})
end

def group_create2(ltf_name, exercise_name)
@http.post(__method__, {
version: CURRENT_VERSION,
ltf_name: ltf_name,
exercise_name: exercise_name
})
end

def group_exists?(id)
@http.get(__method__, { id:id })
end

def group_create(manifests, options)
@http.post(__method__, {
manifests:manifests,
options:options
manifests: manifests,
options: options
})
end

Expand All @@ -39,19 +54,38 @@ def group_joined(id)

# - - - - - - - - - - - - - - - - - - -

def kata_create_custom(display_name)
@http.post(__method__, {
version: CURRENT_VERSION,
display_name: display_name
})
end

def kata_create2(ltf_name, exercise_name)
@http.post(__method__, {
version: CURRENT_VERSION,
ltf_name: ltf_name,
exercise_name: exercise_name
})
end

def kata_exists?(id)
@http.get(__method__, { id:id })
end

def kata_create(manifest, options)
@http.post(__method__, {
manifest:manifest,
options:options
manifest: manifest,
options: options
})
end

def kata_manifest(id)
@http.get(__method__, { id:id })
end

private

CURRENT_VERSION = 2

end
14 changes: 0 additions & 14 deletions test/server/creator_test_base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -65,20 +65,6 @@ def assert_post_200_json(path, args, &block)

# - - - - - - - - - - - - - - - -

def any_custom_start_points_display_name
custom_start_points.display_names.sample
end

def any_exercises_start_points_display_name
exercises_start_points.display_names.sample
end

def any_languages_start_points_display_name
languages_start_points.display_names.sample
end

# - - - - - - - - - - - - - - - -

def json_post(path, data)
post path, data.to_json, JSON_REQUEST_HEADERS
end
Expand Down
2 changes: 1 addition & 1 deletion test/server/metrics.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
app: {
lines: {
total:423,
missed:3,
missed:8,
},
branches: {
total:28,
Expand Down

0 comments on commit 135589f

Please sign in to comment.