{"id":18038861,"url":"https://github.com/nogates/vigia","last_synced_at":"2025-07-15T16:39:11.343Z","repository":{"id":20115079,"uuid":"23384873","full_name":"nogates/vigia","owner":"nogates","description":"Adaptable API integration test suite that supports API blueprint and RAML files","archived":false,"fork":false,"pushed_at":"2016-04-18T12:50:15.000Z","size":182,"stargazers_count":95,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-13T09:51:23.795Z","etag":null,"topics":["api-blueprint","raml","ruby"],"latest_commit_sha":null,"homepage":"https://github.com/nogates/vigia","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nogates.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-27T09:52:34.000Z","updated_at":"2022-05-20T17:41:17.000Z","dependencies_parsed_at":"2022-07-21T19:48:43.156Z","dependency_job_id":null,"html_url":"https://github.com/nogates/vigia","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/nogates/vigia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nogates%2Fvigia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nogates%2Fvigia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nogates%2Fvigia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nogates%2Fvigia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nogates","download_url":"https://codeload.github.com/nogates/vigia/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nogates%2Fvigia/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265445569,"owners_count":23766511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-blueprint","raml","ruby"],"created_at":"2024-10-30T14:06:47.094Z","updated_at":"2025-07-15T16:39:11.318Z","avatar_url":"https://github.com/nogates.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Vigia\n========\n\n[![Build Status](https://travis-ci.org/nogates/vigia.svg?branch=master)](https://travis-ci.org/nogates/vigia)\n[![Code Climate](https://codeclimate.com/github/nogates/vigia/badges/gpa.svg)](https://codeclimate.com/github/nogates/vigia)\n[![Test Coverage](https://codeclimate.com/github/nogates/vigia/badges/coverage.svg)](https://codeclimate.com/github/nogates/vigia)\n\n# What is it?\n\n\u003cimg src=\"http://singularities.org/vigia.png\" width=\"96\" height=\"96\" class=\"right\" alt=\"Vigia logo\" /\u003e\n\nVigia is a gem to perform integration tests on an API server using RSpec and a compatible adapter. The adapter creates the structure of the test (groups and context) and sets up all the variables (See [Context variables](https://github.com/lonelyplanet/vigia/wiki/Context-variables)) used to perform the http request.\n\nThese results and expectations objects can be used to run examples that will compare the expected value with the server response value. Vigia allows to use a variety of different ways to execute these comparisons (See [Vigia Examples](https://github.com/lonelyplanet/vigia/wiki/Expectations---Examples) and [Custom Shared Examples](https://github.com/lonelyplanet/vigia/wiki/Shared-examples))\n\n# Installation\n\nInclude Vigia as gem inside `:test` group\n\n```ruby\n\ngroup :test do\n  gem 'vigia'\nend\n\n```\n\nRun bundle install\n\n```bash\n$ bundle install\n```\n\nNow, Vigia can be used inside your application.\n\n# Getting started\n\nThis example shows an easy way to start a rails server and perform you apibs test.\n\n```ruby\n# Your lib/tasks/vigia.rake\nnamespace :spec do\n  desc 'Run Vigia tests'\n  task :vigia =\u003e :environment do\n\n    # start rails server by the easiest way\n    system(\"bundle exec rails s -e #{ Rails.env } -d\")\n    # give some time to the server\n    sleep 10\n\n    Vigia.configure do |config|\n      config.source_file = \"#{ Rails.root }/apibs/my_api.apib\"\n      config.host        = 'http://localhost:3000'\n    end\n\n    Vigia.rspec!\n  end\nend\n```\n\n# Adapters\n\nCurrently, Vigia supports [API Blueprint](https://apiblueprint.org/) and [RAML](http://raml.org/) definition files. By default, Vigia uses the Blueprint Adapter. To configure Vigia to use the RAML adapter, just pass the `adapter` class to the config block\n\n```ruby\n\nVigia.configure do |config|\n  config.adapter     = Vigia::Adapters::Raml\n  config.source_file = 'my_api_definition.raml'\n  # extra config\nend\n```\n\n(See [Adapters](https://github.com/lonelyplanet/vigia/wiki/Adapters)) to see more information about custom adapters.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n## License\n\nSee [LICENSE](https://raw.githubusercontent.com/lonelyplanet/vigia/master/LICENSE).\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnogates%2Fvigia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnogates%2Fvigia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnogates%2Fvigia/lists"}