3 class Bug35014Test extends Sugar_PHPUnit_Framework_TestCase
7 public function setUp()
10 $this->markTestSkipped('SugarTestCampaignUtilities does not exist');
11 $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser();
12 $campaign = SugarTestCampaignUtilities::createCampaign();
13 $this->campaign_id = $campaign->id;
16 public function tearDown()
18 SugarTestCampaignUtilities::removeAllCreatedCampaigns();
19 SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
20 unset($GLOBALS['current_user']);
23 public function testLeadCaptureResponse()
25 // SET GLOBAL PHP VARIABLES
28 'first_name' => 'Sadek',
29 'last_name' => 'Baroudi',
30 'campaign_id' => $this->campaign_id,
31 'redirect_url' => 'http://www.sugarcrm.com/index.php',
32 'assigned_user_id' => 1,
34 'team_set_id' => 'Global',
35 'req_id' => 'last_name;',
40 foreach($_POST as $k => $v)
42 $postString .= "{$k}=".urlencode($v)."&";
44 $postString = rtrim($postString, "&");
46 $ch = curl_init("{$GLOBALS['sugar_config']['site_url']}/index.php?entryPoint=WebToLeadCapture");
47 curl_setopt($ch, CURLOPT_POST, count($_POST) + 1);
48 curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
49 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
50 curl_setopt($ch, CURLOPT_HEADER, 1);
52 $return = curl_exec($ch);
53 $output = ob_get_clean();
56 preg_match("/Location: .*/", $output, $matches);
57 $this->assertTrue(count($matches) > 0, "Could not get the header information for the response");
60 if(count($matches) > 0){
61 $location = str_replace("Location :", "", $matches[0]);
64 $query_string = substr($location, strpos($location, "?") + 1);
65 $query_string_array = explode("&", $query_string);
67 $post_compare_array = array();
68 $skipKeys = array('module', 'action', 'entryPoint', 'client_id_address');
69 foreach($query_string_array as $key_val)
71 $key_val_array = explode("=", $key_val);
72 if(in_array($key_val_array[0], $skipKeys))
74 $post_compare_array[$key_val_array[0]] = $key_val_array[1];
77 // the redirect_url doesn't get returned, so we unset it
78 unset($_POST['redirect_url']);
80 $this->assertEquals($_POST, $post_compare_array, "The returned get location doesn't match that of the post passed in");
83 // SET GLOBAL PHP VARIABLES
86 'first_name' => 'Sadek',
87 'last_name' => 'Baroudi',
88 'campaign_id' => $this->campaign_id,
89 'redirect_url' => 'http://www.sugarcrm.com/index.php',
90 'assigned_user_id' => 1,
92 'team_set_id' => 'Global',
93 'req_id' => 'last_name;',
95 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
96 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
97 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
98 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
99 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
100 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
101 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
102 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
103 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
104 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
105 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
106 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
107 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
108 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
109 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
110 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
111 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
112 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
113 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
114 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
115 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
116 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
117 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
118 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
119 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
120 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
121 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
122 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
123 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
124 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
125 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
126 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
127 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
128 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
129 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
130 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
131 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
132 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
133 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
134 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
135 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis'.
136 'PneumonoultramicroscopicsilicovolcanoconiosisPneumonoultramicroscopicsilicovolcanoconiosis',
142 foreach($_POST as $k => $v)
144 $postString .= "{$k}=".urlencode($v)."&";
146 $postString = rtrim($postString, "&");
148 $ch = curl_init("{$GLOBALS['sugar_config']['site_url']}/index.php?entryPoint=WebToLeadCapture");
149 curl_setopt($ch, CURLOPT_POST, count($_POST) + 1);
150 curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
151 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
152 curl_setopt($ch, CURLOPT_HEADER, 1);
154 $return = curl_exec($ch);
155 $output = ob_get_clean();
158 preg_match('/form name="redirect"/', $output, $matches);
159 $this->assertTrue(count($matches) > 0, "Should have output a form since we have a long get string");