Repository: reportportal/client-Python

Issue:
incorrect processor info in docker container
platform.processor() is not work in docker container. the value is empty, and cannot post to API.

```python
# tmp fix
        return {'agent': agent,
                'os': platform.system(),
                'cpu': platform.processor(),
                'machine': platform.machine()}
```
tmp fix
```python
        return {'agent': agent,
                'os': platform.system(),
                'cpu': (platform.processor() if platform.processor() else 'unkown'),
                'machine': platform.machine()}
```

Discussion:
dkuchynskyi: @krasoffski @frizzby @iivanou  Hi guys, is there any chance to force it up?

Patch:
diff --git a/reportportal_client/service.py b/reportportal_client/service.py
index 7dcba49..2bd83c9 100644
--- a/reportportal_client/service.py
+++ b/reportportal_client/service.py
@@ -482,5 +482,5 @@ class ReportPortalService(object):
 
         return {'agent': agent,
                 'os': platform.system(),
-                'cpu': platform.processor(),
+                'cpu': platform.processor() or 'unknown',
                 'machine': platform.machine()}


Test patch:
diff --git a/tests/test_service.py b/tests/test_service.py
index 20641a7..9d57f80 100644
--- a/tests/test_service.py
+++ b/tests/test_service.py
@@ -3,7 +3,7 @@
 from datetime import datetime
 from pkg_resources import DistributionNotFound
 
-from delayed_assert import expect, assert_expectations
+from delayed_assert import assert_expectations, expect
 import pytest
 from six.moves import mock
 
@@ -103,6 +103,20 @@ class TestReportPortalService:
                 == expected_result)
         assert cond
 
+    @mock.patch('platform.system', mock.Mock())
+    @mock.patch('platform.machine', mock.Mock())
+    @mock.patch('platform.processor', mock.Mock(return_value=''))
+    @mock.patch('pkg_resources.get_distribution', mock.Mock())
+    def test_get_system_information_docker(self):
+        """Test that cpu key value is not empty.
+
+        platform.processor() returns empty string in case it was called
+        inside of the Docker container. API does not allow empty values
+        for the attributes.
+        """
+        result = ReportPortalService.get_system_information('pytest')
+        assert result['cpu'] == 'unknown'
+
     @mock.patch('platform.system', mock.Mock(return_value='linux'))
     @mock.patch('platform.machine', mock.Mock(return_value='Windows-PC'))
     @mock.patch('platform.processor', mock.Mock(return_value='amd'))