require 'rails_helper' describe CompressedFileUploader do let(:uploader) { CompressedFileUploader.new(user, :photo) } let(:user) { User.new } describe '#decompressed_path' do subject { uploader.decompressed_path } context "when file wasn't stored" do it 'returns nil' do expect(subject).to be(nil) end end context "when file was stored" do let(:expected_contents) { <''````` .;ciCCC Cic;,. `''<'` ``''?CCCCCCCCCC"'```''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC??""''`` _.,;cciCC ic;;,. ````'JP" .,;;,.!!;,.!!!!!!! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$C3$$ -' --''`!!!!'`' .. `! $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Ci??c,,,.,..,. ````` $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$JJCCCC????????$$????rrrcccc, $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$C<<$$$$$PF<$$$$ $$$$$cizccCCCCCCCCCcccc$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$?????)>>J$CLccc$??"" $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$????ii?iiJJJ$$??""" $$$$$$$$$$$$$??$$$$????P$$$???iiiiicccccc<>J>>>>cccccc>>>??C????CC>cccJ$??""""" -``!!;!' .!!!' $$$$$??CCCCCCCCCCCff>>>>>J$$$P"""""""" ..,;;;;;;;!'`.,;;!''' ??????????????"""""'' `' .,..,;;;;!!!'```..```' .,.,;;;- `,;' .,. ,;;----'''''''```````' `''`,;;!!'''`..,;;'' ,; ---;;;;;;;-----'''''''''``' --- `' .,,ccc$$hcccccc,. `' ,;;!!!'``,;;!!' ;;;;,,.,;-------''''''' ,;;!!- .zJ$$$$$$$$$$$$$$$$$$$c,. `' ,;;!!!!' ,; ```' -;;;!'''''- `.,.. .zJ$$$$$$$$$$$$$$$$$$$$$$$$$$c, `!!'' ,;!!' !!- ' `,;;;;;;;;;;'''''```' ,c$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$c, ;!!'' ,; ,;;;!!!!!!!!''``.,;;;;!'`' z$$$$$$$$???"""""'.,,.`"?$$$$$$$$$$$ ``,;;!!! ;;.. --''```_..,;;! J$$$$$$??,zcd$$$$$$$$$$$$$$$$$$$$$$$$h ``'``' ```''' ,;;''``.,.,;;, ,$$$$$$F,z$$$$$$$$$$$$$$$$$$$c,`""?$$$$$h !!!!;;;;, --`!''''''' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$h.`"$$$$h . `'''``.,;;;!;;;--;; zF,$$$$$$$$$$?????$$$$$$$$$$$$$?????$$r ;?$$$ $. !;.,..,.````.,;;;; ,$P'J"$$$$$$P" .,c,,.J$$$$$$$$$"',cc,_`?h.`$$$$ $L '``````' .,.. ,$$". $ $$$$P",c$$$$$$$$$$$$$$$$',$$$$$$$$$$ $$$$ $$c, !!!!!!!!!!!!!''' J$',$ $.`$$P c$$$$$$$$$$$$$$$$$$,$$$$$$$$$$$ $$$$ $$$$C `` J$ ,$P $$ ?$',$$$$???$$$$$$$$$$$$$$$??"""?$$$ <$$$ $$$$$ c ;, z$F,$$ `$$ $ ?$" "$$$.?$$$ $$$P c??c, ?$.<$$',$$$$$F $$h. -!> (' $" $F ,F ?$ $ F ,="?$$c,`$$F $$"z$$',$' ,$$P $h.`$ ?$$$$$r $$$$$hc,. ``' J$ $P J$ . $$F L ",,J$$$F <$hc$$ "$L,`??????,J$$$.` z$$$$$ $$$$$$$$$$c,'' ?F,$',$F.: $$ c$c,,,,,c,,J$$$$$$$ ?$$$c,,,c$$$$$$F. $$$$$$ `"$$$$$$$$$$$c, $$',$$ :: $$$$$$$$F"',$$$$$$$$$$h ?$$$L;;$$$??$$$$ $$$$$$ "?$$$$$$$$$$ $$$$$$ : .`F"$$$$$$$$$$$$""""?"""h $$$$$$$"$,J$$$$ $$$$$' "?$$$$$$$ $$$$$$.`.` h `$$$$$$$$$$$cccc$$c,zJ$$$$$P' $$$$$P',$$$$P $. `""?$$ $$$$$$$ ` "$c "?$$$$$$$$$$$$??$$$$$$$$" ,J$$$P",J$$$$P .. `" ?$$$$$$h ?$$c.`?$$$$$$$$$' . <$$$$$' ,$$$" ,$$$$$" !!>. . `$$$$$$$h . "$$$c,"$$$$$$$' `' `$$$P ,$$$' ,c$$$$$' ;! ``` `$$$$$$$c "$$$c`?$$$$$ : : $$$ ,$$P' z$$$$$$' ;!! $hc ```' ; `$$$$$$$. ?$$c ?$$$$ .: : $$$ $$F ,J$$$$$$' ;!! .,.. ' `$$$$$$$ "$$h`$$$$ .' ' $$$ ,$$ ,J$$$$$$' !!! ????P `$$$$$$L $$$ $$$F :.: J$$P J$F J$$$$$P ;!! -=< ?$$."$$ `$$ ?$$' `' z$$$F $P $$$$$$' !!' cc `$$$c`? ?$.`$$hc, cd$$F ,$' $$$$$$ ;!! $$$$c `$$c$$$$$$$$$",c$' $$$$$$ `!! $$$$$ `?$$$$$$$$$$$$P' $$$$$$> .. $$$$$ `"?$$$$$$$P" $$$$$$L $$c, !! <$$$$$ zc,`"""', <$$$$$$.`$$$$cc, !! J$$$$P `$$$$$$$' !' $$$$$$L `$$$$$$h ;, $$$$$L `! J$$$$$',!! $$$$$$$ `$$$$$$ ' <$$$$$. ! $$$$$$ !! ?$$$$$$ `$$$$$ ,$$$$$$$c `,`???? ;' c,?$$$$' `?$$$ $$$$$$$?? `!;;;;! . `h."?$P `$$$ ,$$$$$$$h. `''' `' `$$$P `?$ $$$$$$$$h `!' `"' ` `$$$$$$$$F !; ! ;, `$$$$$$$' `!!> `! c, ;, `?$$$$P !!> . $F !!> `""' `!! ;!> <- $F `!!' ;!; ' `! ; $F `' !! ?' `' !!! !!! !!> !! !!' ;!!! `! `'' ;!!! ! `! ;! ;!!! ,$$c, ` !'' ;!!! ' ,c$$$$$$c. > ; !!! ?$$$$$$$$$ !!> ;!! .!!! .!> "?$$$$$$$ ` .!!! !!! `! !!' !!!' `!!';!> !! . ' ; .;!!!' !!! `!! ;!!''! J$$c `!!; !!> ;!!! ;!! !! `!! !' J$$$$hr `'' !!!,;; ;!!! !! $$$$$$$$$$. `' ! `!!! !!!!!' !!! !! `!!! ?$$$$$$$??$c !!>; ;!! ;!!!!! ;!!> !! ?$$$$$$c,`$$. `!!! !!! !!! !' `!!> !! !!! "?$$$$$$ "?$c ` ! ;!!!, "$$$$$$c,"?$c, ;!! !! ;! !!!! ! `!!!! "$$$$$$c ?$$h. !!!> !! !! !!!! !!! "?$$$$c "$$$c, !!!' ' !! `!!! `! "$$$$h.`?$$$c, ?$$$$$c ?$$$$h. `!!! `!! !!! `' "?$$$$h.`?$$$$ `!!> !! `!! `?$$$$$$$$$$ `!' !! `' "$$$$$$$$$ `!> ?$$$$$$$ `! `"?$$$$ `- ;! `"$$ `? EOS context "and it was bzip2" do before do uploader.store!(File.open('spec/fixtures/munch.bz2')) end it 'returns a path to the decompressed data' do path = subject expect(File.read(path)).to eq(expected_contents) end end context "and it was gzip" do before do uploader.store!(File.open('spec/fixtures/munch.gz')) end it 'returns a path to the decompressed data' do path = subject expect(File.read(path)).to eq(expected_contents) end end end end end