Class: Omnitest::ProjectSet

Inherits:
Core::Dash
  • Object
show all
Extended by:
Core::Dash::Loadable
Includes:
Core::DefaultLogger, Core::Logging
Defined in:
lib/omnitest/project_set.rb

Overview

Omnitest::ProjectSet defines a set of projects that will be used for cross-project tasks and tests. It is generally defined and loaded from omnitest.yaml. Here’s an example project set:

The suites object defines the tests. Each object, under suites, like Katas or Tutorials in this example, represents a test suite. A test suite is subdivided into samples, that each act as a scenario. The global_env object and the env under each suite define (and standardize) the input for each test. The global_env values will be made available to all tests as environment variables, along with the env values for that specific test.

Examples:

Project set defined in omnitest.yaml

---
projects:
  ruby:
    language: 'ruby'
    basedir: 'sdks/ruby'
    git:
      repo: 'https://github.com/omnitest/ruby_samples'
  java:
    language: 'java'
    basedir: 'sdks/java'
    git:
      repo: 'https://github.com/omnitest/java_samples'
  python:
    language: 'python'
    basedir: 'sdks/python'
    git:
      repo: 'https://github.com/omnitest/python_samples'

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Core::Dash

field, required_field

Constructor Details

#initialize(hash = {}) ⇒ ProjectSet

Returns a new instance of ProjectSet.



40
41
42
43
44
45
# File 'lib/omnitest/project_set.rb', line 40

def initialize(hash = {})
  super
  projects.each do | name, project |
    project.name = name
  end
end

Instance Attribute Details

#projectsHash[String => Omnitest::Project]

Required Attribute projects.

Returns:



37
# File 'lib/omnitest/project_set.rb', line 37

required_field :projects, Hash[String => Omnitest::Project]

#workflowsHash[String => Omnitest::Workflow]

Attribute workflows.

Returns:



38
# File 'lib/omnitest/project_set.rb', line 38

field :workflows, Hash[String => Omnitest::Workflow]