From 5b94ec76e74c3ce74b99690f92b5d5b2b489e9da Mon Sep 17 00:00:00 2001
From: Matthieu Aubry <mattab@users.noreply.github.com>
Date: Wed, 7 Dec 2016 00:01:37 +1300
Subject: [PATCH] Add a system test reproducing #10857  (#10970)

* testing referrer website with both HTTP and HTTPS
for https://github.com/piwik/piwik/issues/10857

* Add a system test reproducing #10857

Add a system test reproducing #10857 -> confirmed that Piwik will track referrers from the same HTTP and HTTPS page as different entries.
---
 .../TwoSitesTwoVisitorsDifferentDays.php      |  3 +-
 ...fferentDays__Referrers.getWebsites_day.xml |  2 +-
 ...erentDays__Referrers.getWebsites_month.xml | 19 +++++++++---
 ...ferentDays__Referrers.getWebsites_week.xml | 19 +++++++++---
 ...ferentDays__Referrers.getWebsites_year.xml | 19 +++++++++---
 ..._idSiteOne___Referrers.getWebsites_day.xml |  2 +-
 ...dSiteOne___Referrers.getWebsites_month.xml | 19 +++++++++---
 ...idSiteOne___Referrers.getWebsites_week.xml | 19 +++++++++---
 ...idSiteOne___Referrers.getWebsites_year.xml | 19 +++++++++---
 ...dReports.generateReport_month.original.csv |  3 +-
 ...Reports.generateReport_month.original.html | 29 +++++++++++++++++--
 11 files changed, 123 insertions(+), 30 deletions(-)

diff --git a/tests/PHPUnit/Fixtures/TwoSitesTwoVisitorsDifferentDays.php b/tests/PHPUnit/Fixtures/TwoSitesTwoVisitorsDifferentDays.php
index 154dc70c2b..1f6afab1b8 100644
--- a/tests/PHPUnit/Fixtures/TwoSitesTwoVisitorsDifferentDays.php
+++ b/tests/PHPUnit/Fixtures/TwoSitesTwoVisitorsDifferentDays.php
@@ -135,7 +135,8 @@ class TwoSitesTwoVisitorsDifferentDays extends Fixture
             // Temporary, until we implement 1st party cookies in PiwikTracker
             $visitorB->DEBUG_APPEND_URL .= '&_idvc=2&_viewts=' . Date::factory($dateTime)->getTimestamp();
 
-            $visitorB->setUrlReferrer('http://referrer.com/Other_Page.htm');
+            $protocol = (0 === $days % 2) ? 'http' : 'https';
+            $visitorB->setUrlReferrer($protocol . '://referrer.com/Other_Page.htm');
             if( in_array($days, array(2,3,4,$daysToGenerateVisitsFor-1)) ) {
                 $visitorB->setUrl( self::URL_IS_GOAL_WITH_CAMPAIGN_PARAMETERS );
             } else {
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_day.xml
index 68cf105bb4..ff3cbc07e8 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_day.xml
@@ -72,7 +72,7 @@
 				<segment>referrerName==referrer.com</segment>
 				<subtable>
 					<row>
-						<label>http://referrer.com/Other_Page.htm</label>
+						<label>https://referrer.com/Other_Page.htm</label>
 						<nb_uniq_visitors>1</nb_uniq_visitors>
 						<nb_visits>1</nb_visits>
 						<nb_actions>5</nb_actions>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_month.xml
index cb53e090a5..36c4c50326 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_month.xml
@@ -16,13 +16,13 @@
 				<subtable>
 					<row>
 						<label>http://referrer.com/Other_Page.htm</label>
-						<nb_visits>4</nb_visits>
-						<nb_actions>20</nb_actions>
+						<nb_visits>2</nb_visits>
+						<nb_actions>10</nb_actions>
 						<max_actions>5</max_actions>
-						<sum_visit_length>3604</sum_visit_length>
+						<sum_visit_length>1802</sum_visit_length>
 						<bounce_count>0</bounce_count>
 						<nb_visits_converted>0</nb_visits_converted>
-						<sum_daily_nb_uniq_visitors>4</sum_daily_nb_uniq_visitors>
+						<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 						<sum_daily_nb_users>0</sum_daily_nb_users>
 					</row>
 					<row>
@@ -36,6 +36,17 @@
 						<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 						<sum_daily_nb_users>0</sum_daily_nb_users>
 					</row>
+					<row>
+						<label>https://referrer.com/Other_Page.htm</label>
+						<nb_visits>2</nb_visits>
+						<nb_actions>10</nb_actions>
+						<max_actions>5</max_actions>
+						<sum_visit_length>1802</sum_visit_length>
+						<bounce_count>0</bounce_count>
+						<nb_visits_converted>0</nb_visits_converted>
+						<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+						<sum_daily_nb_users>0</sum_daily_nb_users>
+					</row>
 				</subtable>
 			</row>
 		</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_week.xml
index db9b40253c..90f843905d 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_week.xml
@@ -41,15 +41,26 @@
 				<sum_daily_nb_users>0</sum_daily_nb_users>
 				<segment>referrerName==referrer.com</segment>
 				<subtable>
+					<row>
+						<label>https://referrer.com/Other_Page.htm</label>
+						<nb_visits>2</nb_visits>
+						<nb_actions>10</nb_actions>
+						<max_actions>5</max_actions>
+						<sum_visit_length>1802</sum_visit_length>
+						<bounce_count>0</bounce_count>
+						<nb_visits_converted>0</nb_visits_converted>
+						<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+						<sum_daily_nb_users>0</sum_daily_nb_users>
+					</row>
 					<row>
 						<label>http://referrer.com/Other_Page.htm</label>
-						<nb_visits>3</nb_visits>
-						<nb_actions>15</nb_actions>
+						<nb_visits>1</nb_visits>
+						<nb_actions>5</nb_actions>
 						<max_actions>5</max_actions>
-						<sum_visit_length>2703</sum_visit_length>
+						<sum_visit_length>901</sum_visit_length>
 						<bounce_count>0</bounce_count>
 						<nb_visits_converted>0</nb_visits_converted>
-						<sum_daily_nb_uniq_visitors>3</sum_daily_nb_uniq_visitors>
+						<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
 						<sum_daily_nb_users>0</sum_daily_nb_users>
 					</row>
 					<row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_year.xml
index a20510ef16..84b2c7494b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_year.xml
@@ -16,13 +16,13 @@
 				<subtable>
 					<row>
 						<label>http://referrer.com/Other_Page.htm</label>
-						<nb_visits>4</nb_visits>
-						<nb_actions>20</nb_actions>
+						<nb_visits>2</nb_visits>
+						<nb_actions>10</nb_actions>
 						<max_actions>5</max_actions>
-						<sum_visit_length>3604</sum_visit_length>
+						<sum_visit_length>1802</sum_visit_length>
 						<bounce_count>0</bounce_count>
 						<nb_visits_converted>0</nb_visits_converted>
-						<sum_daily_nb_uniq_visitors>4</sum_daily_nb_uniq_visitors>
+						<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 						<sum_daily_nb_users>0</sum_daily_nb_users>
 					</row>
 					<row>
@@ -36,6 +36,17 @@
 						<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 						<sum_daily_nb_users>0</sum_daily_nb_users>
 					</row>
+					<row>
+						<label>https://referrer.com/Other_Page.htm</label>
+						<nb_visits>2</nb_visits>
+						<nb_actions>10</nb_actions>
+						<max_actions>5</max_actions>
+						<sum_visit_length>1802</sum_visit_length>
+						<bounce_count>0</bounce_count>
+						<nb_visits_converted>0</nb_visits_converted>
+						<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+						<sum_daily_nb_users>0</sum_daily_nb_users>
+					</row>
 				</subtable>
 			</row>
 		</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_day.xml
index 67bf4d2ac5..a850f5d23a 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_day.xml
@@ -71,7 +71,7 @@
 			<segment>referrerName==referrer.com</segment>
 			<subtable>
 				<row>
-					<label>http://referrer.com/Other_Page.htm</label>
+					<label>https://referrer.com/Other_Page.htm</label>
 					<nb_uniq_visitors>1</nb_uniq_visitors>
 					<nb_visits>1</nb_visits>
 					<nb_actions>5</nb_actions>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_month.xml
index d04b442b1c..8e1330a381 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_month.xml
@@ -15,13 +15,13 @@
 			<subtable>
 				<row>
 					<label>http://referrer.com/Other_Page.htm</label>
-					<nb_visits>4</nb_visits>
-					<nb_actions>20</nb_actions>
+					<nb_visits>2</nb_visits>
+					<nb_actions>10</nb_actions>
 					<max_actions>5</max_actions>
-					<sum_visit_length>3604</sum_visit_length>
+					<sum_visit_length>1802</sum_visit_length>
 					<bounce_count>0</bounce_count>
 					<nb_visits_converted>0</nb_visits_converted>
-					<sum_daily_nb_uniq_visitors>4</sum_daily_nb_uniq_visitors>
+					<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 					<sum_daily_nb_users>0</sum_daily_nb_users>
 				</row>
 				<row>
@@ -35,6 +35,17 @@
 					<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 					<sum_daily_nb_users>0</sum_daily_nb_users>
 				</row>
+				<row>
+					<label>https://referrer.com/Other_Page.htm</label>
+					<nb_visits>2</nb_visits>
+					<nb_actions>10</nb_actions>
+					<max_actions>5</max_actions>
+					<sum_visit_length>1802</sum_visit_length>
+					<bounce_count>0</bounce_count>
+					<nb_visits_converted>0</nb_visits_converted>
+					<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+					<sum_daily_nb_users>0</sum_daily_nb_users>
+				</row>
 			</subtable>
 		</row>
 	</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_week.xml
index 52dd01afe4..ca8b4bed53 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_week.xml
@@ -40,15 +40,26 @@
 			<sum_daily_nb_users>0</sum_daily_nb_users>
 			<segment>referrerName==referrer.com</segment>
 			<subtable>
+				<row>
+					<label>https://referrer.com/Other_Page.htm</label>
+					<nb_visits>2</nb_visits>
+					<nb_actions>10</nb_actions>
+					<max_actions>5</max_actions>
+					<sum_visit_length>1802</sum_visit_length>
+					<bounce_count>0</bounce_count>
+					<nb_visits_converted>0</nb_visits_converted>
+					<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+					<sum_daily_nb_users>0</sum_daily_nb_users>
+				</row>
 				<row>
 					<label>http://referrer.com/Other_Page.htm</label>
-					<nb_visits>3</nb_visits>
-					<nb_actions>15</nb_actions>
+					<nb_visits>1</nb_visits>
+					<nb_actions>5</nb_actions>
 					<max_actions>5</max_actions>
-					<sum_visit_length>2703</sum_visit_length>
+					<sum_visit_length>901</sum_visit_length>
 					<bounce_count>0</bounce_count>
 					<nb_visits_converted>0</nb_visits_converted>
-					<sum_daily_nb_uniq_visitors>3</sum_daily_nb_uniq_visitors>
+					<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
 					<sum_daily_nb_users>0</sum_daily_nb_users>
 				</row>
 				<row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_year.xml
index c80e5068c0..38f2a0bf84 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_year.xml
@@ -15,13 +15,13 @@
 			<subtable>
 				<row>
 					<label>http://referrer.com/Other_Page.htm</label>
-					<nb_visits>4</nb_visits>
-					<nb_actions>20</nb_actions>
+					<nb_visits>2</nb_visits>
+					<nb_actions>10</nb_actions>
 					<max_actions>5</max_actions>
-					<sum_visit_length>3604</sum_visit_length>
+					<sum_visit_length>1802</sum_visit_length>
 					<bounce_count>0</bounce_count>
 					<nb_visits_converted>0</nb_visits_converted>
-					<sum_daily_nb_uniq_visitors>4</sum_daily_nb_uniq_visitors>
+					<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 					<sum_daily_nb_users>0</sum_daily_nb_users>
 				</row>
 				<row>
@@ -35,6 +35,17 @@
 					<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 					<sum_daily_nb_users>0</sum_daily_nb_users>
 				</row>
+				<row>
+					<label>https://referrer.com/Other_Page.htm</label>
+					<nb_visits>2</nb_visits>
+					<nb_actions>10</nb_actions>
+					<max_actions>5</max_actions>
+					<sum_visit_length>1802</sum_visit_length>
+					<bounce_count>0</bounce_count>
+					<nb_visits_converted>0</nb_visits_converted>
+					<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
+					<sum_daily_nb_users>0</sum_daily_nb_users>
+				</row>
 			</subtable>
 		</row>
 	</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
index 893c2dbf6f..38078f4bb9 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
@@ -334,7 +334,8 @@ No data available
 
 Websites
 label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue
-referrer.com/Other_Page.htm,4,20,5,00:15:01,0%,$ 0
+referrer.com/Other_Page.htm,2,10,5,00:15:01,0%,$ 0
+referrer.com/Other_Page.htm,2,10,5,00:15:01,0%,$ 0
 referrer.com/page.htm?param=valuewith some spaces,2,2,1,00:00:00,100%,$ 0
 
 Social Networks
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
index 06bf981720..1cd91a523e 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
@@ -5033,10 +5033,10 @@
                                                                         referrer.com/Other_Page.htm                                                                            </a>
                                                                                                                         </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
-                                                                                                4
+                                                                                                2
                                                                                     </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
-                                                                                                20
+                                                                                                10
                                                                                     </td>
                                             <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                 5
@@ -5053,6 +5053,31 @@
                                     </tr>
                             
                                                                     <tr style=";line-height: 22px;">
+                                                                <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
+                                                                                                                                                                            <a style="color: rgb(13,13,13);" href='https://referrer.com/Other_Page.htm'>
+                                                                        referrer.com/Other_Page.htm                                                                            </a>
+                                                                                                                        </td>
+                                            <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
+                                                                                                2
+                                                                                    </td>
+                                            <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
+                                                                                                10
+                                                                                    </td>
+                                            <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
+                                                                                                5
+                                                                                    </td>
+                                            <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
+                                                                                                00:15:01
+                                                                                    </td>
+                                            <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
+                                                                                                0%
+                                                                                    </td>
+                                            <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
+                                                                                                $ 0
+                                                                                    </td>
+                                    </tr>
+                            
+                                                                    <tr style="background-color: rgb(242,242,242);line-height: 22px;">
                                                                 <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217);  padding: 5px 0 5px 5px;">
                                                                                                                                                                             <a style="color: rgb(13,13,13);" href='http://referrer.com/page.htm?param=valuewith some spaces'>
                                                                         referrer.com/page.htm?param=valuewith some spaces                                                                            </a>
-- 
GitLab