require 'spec_helper' require 'digest/md5' describe ArtifactUpdate do include UsesTempFiles ARTIFACT_FILE='jkclient-0.1.1.exe' in_directory_with_file(ARTIFACT_FILE) before do content_for_file("exe binary globby goo") end it "return empty" do ArtifactUpdate.find(:all).length.should == 0 end it "should allow insertion" do artifact = ArtifactUpdate.new artifact.product = 'JamClient/Win32' artifact.version = '0.1.1' artifact.uri = File.open(ARTIFACT_FILE) artifact.save! artifact.environment.should == "public" artifact.product.should == "JamClient/Win32" artifact.version.should == "0.1.1" File.basename(artifact.uri.path).should == ARTIFACT_FILE artifact.sha1.should == Digest::MD5.hexdigest(File.read(ARTIFACT_FILE)) artifact.size.should == File.size(ARTIFACT_FILE) found = ArtifactUpdate.find_by_product_and_version('JamClient/Win32', '0.1.1') artifact.should == found end end