From 7bf1caf6115cac81ad66ba6d7cf30ecd4fc831f2 Mon Sep 17 00:00:00 2001
From: Thomas Steur <thomas.steur@gmail.com>
Date: Mon, 19 Oct 2015 17:34:16 +0000
Subject: [PATCH] fix remaining tests

---
 plugins/API/API.php                                    |  7 +------
 plugins/API/SegmentMetadata.php                        | 10 +++++-----
 ...t_apiGetReportMetadata__API.getSegmentsMetadata.xml |  4 ++++
 3 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/plugins/API/API.php b/plugins/API/API.php
index 5e046d41aa..8dcaf0186b 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -504,12 +504,7 @@ class API extends \Piwik\Plugin\API
         if ($suggestedValuesCallbackRequiresTable) {
             $values = call_user_func($segmentFound['suggestedValuesCallback'], $idSite, $maxSuggestionsToReturn, $table);
         } else {
-            // Cleanup data to return the top suggested (non empty) labels for this segment
-            $values = $table->getColumn($segmentName);
-
-            // Select also flattened keys (custom variables "page" scope, page URLs for one visit, page titles for one visit)
-            $valuesBis = $table->getColumnsStartingWith($segmentName . ColumnDelete::APPEND_TO_COLUMN_NAME_TO_KEEP);
-            $values = array_merge($values, $valuesBis);
+            $values = $this->getSegmentValuesFromVisitorLog($segmentName, $table);
         }
 
         $values = $this->getMostFrequentValues($values);
diff --git a/plugins/API/SegmentMetadata.php b/plugins/API/SegmentMetadata.php
index e8a7092311..caf89b7ea3 100644
--- a/plugins/API/SegmentMetadata.php
+++ b/plugins/API/SegmentMetadata.php
@@ -125,12 +125,12 @@ class SegmentMetadata
                 unset($segment['sqlFilter']);
                 unset($segment['sqlFilterValue']);
                 unset($segment['sqlSegment']);
-            }
 
-            if (isset($segment['suggestedValuesCallback'])
-                && !is_string($segment['suggestedValuesCallback'])
-            ) {
-                unset($segment['suggestedValuesCallback']);
+                if (isset($segment['suggestedValuesCallback'])
+                    && !is_string($segment['suggestedValuesCallback'])
+                ) {
+                    unset($segment['suggestedValuesCallback']);
+                }
             }
         }
 
diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml
index 94b156a296..ded012ba51 100644
--- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml
+++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getSegmentsMetadata.xml
@@ -64,6 +64,7 @@
 		<name>Visitor IP</name>
 		<segment>visitIp</segment>
 		<acceptedValues>13.54.122.1. &lt;/code&gt;Select IP ranges with notation: &lt;code&gt;visitIp&gt;13.54.122.0;visitIp&lt;13.54.122.255</acceptedValues>
+		<permission>1</permission>
 	</row>
 	<row>
 		<type>dimension</type>
@@ -192,6 +193,7 @@
 		<name>User ID</name>
 		<segment>userId</segment>
 		<acceptedValues>any non empty unique string identifying the user (such as an email address or a username).</acceptedValues>
+		<permission>1</permission>
 	</row>
 	<row>
 		<type>dimension</type>
@@ -206,6 +208,7 @@
 		<name>Visit ID</name>
 		<segment>visitId</segment>
 		<acceptedValues>Any integer.</acceptedValues>
+		<permission>1</permission>
 	</row>
 	<row>
 		<type>dimension</type>
@@ -250,6 +253,7 @@
 		<name>Visitor ID</name>
 		<segment>visitorId</segment>
 		<acceptedValues>34c31e04394bdc63 - any 16 Hexadecimal chars ID, which can be fetched using the Tracking API function getVisitorId()</acceptedValues>
+		<permission>1</permission>
 	</row>
 	<row>
 		<type>dimension</type>
-- 
GitLab