Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
= Dataset
Dataset provides a simple API for creating and finding sets of data in your database. Check out Dataset::RecordMethods and Dataset::ModelFinders.
Dataset loads data intelligently if you use 'nested contexts' in your tests (RSpec, anything that uses Test::Unit::TestCase subclassing for creating nested contexts):
describe Something do
dataset :a => Dataset :a is loaded (at the right time)
it 'should whatever'
end
describe More do
dataset :b => Dataset :b is loaded. :a data is still there
it 'should'
end
end
describe Another do => Database is restored to :a, without re-running :a logic
it 'should'
end
end
end
The goal is to see a marked improvement in overall test run speed, basing this on the assumption that it is faster to have the OS copy a file or mySQL dump and load. Of course, we may find this to be a false assumption, but there were plenty of bugs in the former 'Scenarios' - addressing that afforded the opportunity to test the assumption.
Dataset does not prevent you from using other libraries like Machinist or factory_girl. If you were to used either of those, you could have a dataset like this:
require 'faker'
class OrganizationsDataset < Dataset::Base
Sham.name { Faker::Name.name }
Organization.blueprint do
name { Sham.name }
end
def load
name_model Organization.make, :org_one
end
end
The benefit is that you can reuse interesting sets of data, without sacrificing the utility of those other libraries.
describe Organization, 'stuff' do
dataset :organizations
end
describe Organization, 'other stuff' do
dataset :organizations
end
Get things installed, then read more in the Dataset documentation at http://aiwilliams.github.com/dataset
== Installation
Install the plugin:
./script/plugin install git://github.com/aiwilliams/dataset.git
In your test_helper.rb/spec_helper.rb:
require 'dataset'
class Test::Unit::TestCase
include Dataset
datasets_directory "#{RAILS_ROOT}/spec/datasets"
end
If you don't use rspec_on_rails, or you have specs that aren't of the RailsExampleGroup type, you should do this in spec_helper.rb:
require 'dataset'
class Spec::Example::ExampleGroup
include Dataset
datasets_directory "#{RAILS_ROOT}/spec/datasets"
end
If you were a user of the Scenarios plugin, and want to do as little as possible to get going (assumes you are using rspec_on_rails):
require 'dataset'
Scenario = Scenarios = Dataset
class Test::Unit::TestCase
include Dataset
class << self
alias_method :scenario, :dataset
end
end
class ScenariosResolver < Dataset::DirectoryResolver
def suffix
@suffix ||= 'Scenario'
end
end
Dataset::Resolver.default = ScenariosResolver.new("#{RAILS_ROOT}/spec/scenarios")
== Credits
Written by Adam Williams.
Contributors:
Dataset is released under the MIT-License and is Copyright (c)2008 Adam Williams.
FAQs
Unknown package
We found that aiwilliams-dataset demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.