Adding spec, removing auth_check

Dean Putney 10 lat temu
rodzic
commit
765151093d

+ 0 - 10
app/controllers/application_controller.rb

@@ -22,7 +22,6 @@ class ApplicationController < ActionController::Base
22 22
     return unless current_user
23 23
     twitter_oauth_check
24 24
     basecamp_auth_check
25
-    tumblr_oauth_check
26 25
   end
27 26
 
28 27
   private
@@ -41,13 +40,4 @@ class ApplicationController < ActionController::Base
41 40
       @basecamp_agent = current_user.agents.where(type: 'Agents::BasecampAgent').first
42 41
     end
43 42
   end
44
-
45
-  def tumblr_oauth_check
46
-    if ENV['TUMBLR_OAUTH_KEY'].blank? || ENV['TUMBLR_OAUTH_SECRET'].blank?
47
-      if @tumblr_agent = current_user.agents.where("type like 'Agents::Tumblr%'").first
48
-        @tumblr_oauth_key    = @tumblr_agent.options['consumer_key'].presence || @tumblr_agent.credential('tumblr_consumer_key')
49
-        @tumblr_oauth_secret = @tumblr_agent.options['consumer_secret'].presence || @tumblr_agent.credential('tumblr_consumer_secret')
50
-      end
51
-    end
52
-  end
53 43
 end

+ 1 - 5
app/models/agents/tumblr_publish_agent.rb

@@ -101,7 +101,6 @@ module Agents
101 101
         options = interpolated(event)['options']
102 102
         begin
103 103
           post = publish_post(blog_name, post_type, options)
104
-          puts "[POST] "+JSON.pretty_generate(post)
105 104
           create_event :payload => {
106 105
             'success' => true,
107 106
             'published_post' => "["+blog_name+"] "+post_type,
@@ -113,10 +112,7 @@ module Agents
113 112
       end
114 113
     end
115 114
 
116
-    def publish_post(blog_name, post_type, options)
117
-      puts "[BLOG NAME] "+blog_name
118
-      puts "[POST_TYPE] "+post_type
119
-      
115
+    def publish_post(blog_name, post_type, options)      
120 116
       options_obj = { 
121 117
           :state => options['state'],
122 118
           :tags => options['tags'],

+ 38 - 0
spec/models/agents/tumblr_publish_agent_spec.rb

@@ -0,0 +1,38 @@
1
+require 'spec_helper'
2
+
3
+describe Agents::TumblrPublishAgent do
4
+  before do
5
+    @opts = {
6
+      :blog_name => "huginnbot.tumblr.com",
7
+      :post_type => "text",
8
+      :expected_update_period_in_days => "2",
9
+      :options => {
10
+        :title => "{{title}}",
11
+        :body => "{{body}}",
12
+      },
13
+    }
14
+
15
+    @checker = Agents::TumblrPublishAgent.new(:name => "HuginnBot", :options => @opts)
16
+    @checker.service = services(:generic)
17
+    @checker.user = users(:bob)
18
+    @checker.save!
19
+
20
+    @event = Event.new
21
+    @event.agent = agents(:bob_weather_agent)
22
+    @event.payload = { :title => "Gonna rain...", :body => 'San Francisco is gonna get wet' }
23
+    @event.save!
24
+
25
+    stub.any_instance_of(Agents::TumblrPublishAgent).tumblr {
26
+      stub!.text(anything, anything) { { "id" => "5" } }
27
+    }
28
+  end
29
+
30
+  describe '#receive' do
31
+    it 'should publish any payload it receives' do
32
+      Agents::TumblrPublishAgent.async_receive(@checker.id, [@event.id])
33
+      @checker.events.count.should eq(1)
34
+      @checker.events.first.payload['post_id'].should eq('5')
35
+      @checker.events.first.payload['published_post'].should eq('[huginnbot.tumblr.com] text')
36
+    end
37
+  end
38
+end