<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Robby on Rails: Testing Cookies in Ruby on Rails</title>
    <link>http://www.robbyonrails.com/articles/2006/08/28/testing-cookies-in-ruby-on-rails</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>thoughts.sort_by{|t| t[:topic]}.collect </description>
    <item>
      <title>Testing Cookies in Ruby on Rails</title>
      <description>&lt;p&gt;Over the weekend, &lt;a href="http://blog.brightredglow.com/"&gt;Brian Ford&lt;/a&gt; released a useful plugin for testing your &lt;a href="http://www.rubyonrails.org"&gt;Ruby on Rails&lt;/a&gt; applications called, &lt;a href="http://blog.brightredglow.com/articles/2006/08/27/assert_cookie-for-ooey-gooey-fun"&gt;assert_cookie&lt;/a&gt;.&lt;/p&gt;


	&lt;h2&gt;Brian likes his cookies&amp;#8230;&lt;/h2&gt;


&lt;center&gt;
&lt;img src="http://www.robbyonrails.com/files/cookie-monster.jpg" alt="" /&gt; 
&lt;/center&gt;

	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;&amp;#8220;I love cookies. There are, of course, tons of varieties and I’m no connoisseur but I love the soft chocolate chip right out of the oven, hot and gooey. But, if you’re like me, you don’t want your Rails code to be gooey.&amp;#8221;&lt;/em&gt; -Brian Ford&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;To use &lt;strong&gt;assert_cookie&lt;/strong&gt;, follow these steps.&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Install via, &lt;code&gt;script/plugin install http://svn.planetargon.org/rails/plugins/assert_cookie&lt;/code&gt;&lt;/li&gt;
		&lt;li&gt;Fill your tests with some cookies&lt;/li&gt;
		&lt;li&gt;Test your cookies!&lt;/li&gt;
	&lt;/ol&gt;


Here are a few examples that Brian posted.
&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;  &lt;span class="ident"&gt;assert_cookie&lt;/span&gt; &lt;span class="symbol"&gt;:pass&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; 
      &lt;span class="symbol"&gt;:value&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ident"&gt;lambda&lt;/span&gt; &lt;span class="punct"&gt;{&lt;/span&gt; &lt;span class="punct"&gt;|&lt;/span&gt;&lt;span class="ident"&gt;value&lt;/span&gt;&lt;span class="punct"&gt;|&lt;/span&gt; &lt;span class="constant"&gt;UUID&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;parse&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;value&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;valid?&lt;/span&gt; &lt;span class="punct"&gt;}&lt;/span&gt;
  &lt;span class="ident"&gt;assert_cookie&lt;/span&gt; &lt;span class="symbol"&gt;:yellow&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:value&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;['&lt;/span&gt;&lt;span class="string"&gt;sunny&lt;/span&gt;&lt;span class="punct"&gt;',&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;days&lt;/span&gt;&lt;span class="punct"&gt;']&lt;/span&gt;
  &lt;span class="ident"&gt;assert_cookie&lt;/span&gt; &lt;span class="symbol"&gt;:delight&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:value&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;yum&lt;/span&gt;&lt;span class="punct"&gt;'&lt;/span&gt;
  &lt;span class="ident"&gt;assert_cookie&lt;/span&gt; &lt;span class="symbol"&gt;:secret&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt; &lt;span class="symbol"&gt;:path&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ident"&gt;lambda&lt;/span&gt; &lt;span class="punct"&gt;{&lt;/span&gt; &lt;span class="punct"&gt;|&lt;/span&gt;&lt;span class="ident"&gt;path&lt;/span&gt;&lt;span class="punct"&gt;|&lt;/span&gt; &lt;span class="ident"&gt;path&lt;/span&gt; &lt;span class="punct"&gt;=~&lt;/span&gt; &lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="regex"&gt;secret&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt; &lt;span class="punct"&gt;},&lt;/span&gt; 
      &lt;span class="symbol"&gt;:secure&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="constant"&gt;true&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;For more information on other plugins and tools that &lt;a href="http://www.planetargon.com"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt;&lt;/a&gt; is releasing under open source licenses, visit &lt;a href="http://www.planetargon.org"&gt;www.planetargon.org&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Also, be sure to &lt;a href="http://feeds.feedburner.com/defeulerxcosxisinxend"&gt;subscribe to Brian Ford&amp;#8217;s feed&lt;/a&gt; as he says he&amp;#8217;ll be announcing more plugins and tips soon. :-)&lt;/p&gt;


	&lt;p&gt;Have Fun!&lt;/p&gt;
</description>
      <pubDate>Mon, 28 Aug 2006 08:27:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:ba154b0e-9877-434d-9fd1-b60ea4a43f93</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/08/28/testing-cookies-in-ruby-on-rails</link>
      <category>cookies</category>
      <category>testing</category>
      <category>plugins</category>
      <category>planetargon</category>
      <category>brian</category>
      <category>rails</category>
      <category>monster</category>
    </item>
  </channel>
</rss>
