New argument --show-time-today for fetching dashboard coding activity
This commit is contained in:
parent
1f6d0f4981
commit
708001c6e7
7 changed files with 167 additions and 4 deletions
|
@ -10,4 +10,4 @@ usage: wakatime [-h] [--entity FILE] [--key KEY] [--write] [--plugin PLUGIN]
|
|||
[--include-only-with-project-file] [--extra-heartbeats]
|
||||
[--log-file LOG_FILE] [--api-url API_URL] [--timeout TIMEOUT]
|
||||
[--sync-offline-activity SYNC_OFFLINE_ACTIVITY]
|
||||
[--config CONFIG] [--verbose] [--version]
|
||||
[--show-time-today] [--config CONFIG] [--verbose] [--version]
|
||||
|
|
|
@ -76,6 +76,7 @@ optional arguments:
|
|||
sent while online 5 offline heartbeats are synced. Can
|
||||
be used without --entity to only sync offline activity
|
||||
without generating new heartbeats.
|
||||
--show-time-today Returns dashboard time for Today.
|
||||
--config CONFIG Defaults to ~/.wakatime.cfg.
|
||||
--verbose Turns on debug messages in log file.
|
||||
--version show program's version number and exit
|
||||
|
|
|
@ -21,7 +21,7 @@ from wakatime.constants import (
|
|||
from wakatime.packages.requests.exceptions import RequestException
|
||||
from wakatime.packages.requests.models import Response
|
||||
from wakatime.utils import get_user_agent
|
||||
from .utils import mock, json, ANY, CustomResponse, TemporaryDirectory, TestCase, NamedTemporaryFile
|
||||
from .utils import mock, json, ANY, CustomResponse, SummaryResponse, TemporaryDirectory, TestCase, NamedTemporaryFile
|
||||
|
||||
|
||||
class ArgumentsTestCase(TestCase):
|
||||
|
@ -322,6 +322,27 @@ class ArgumentsTestCase(TestCase):
|
|||
self.assertHeartbeatNotSavedOffline()
|
||||
self.assertOfflineHeartbeatsNotSynced()
|
||||
|
||||
@log_capture()
|
||||
def test_missing_entity_argument_with_show_time_today_arg(self, logs):
|
||||
logging.disable(logging.NOTSET)
|
||||
|
||||
self.patched['wakatime.packages.requests.adapters.HTTPAdapter.send'].return_value = SummaryResponse()
|
||||
|
||||
config = 'tests/samples/configs/good_config.cfg'
|
||||
args = ['--config', config, '--show-time-today', '--verbose']
|
||||
|
||||
retval = execute(args)
|
||||
|
||||
self.assertEquals(retval, SUCCESS)
|
||||
self.assertNothingLogged(logs)
|
||||
|
||||
expected = '4 hrs 23 mins\n'
|
||||
actual = self.getPrintedOutput()
|
||||
self.assertEquals(actual, expected)
|
||||
|
||||
self.assertHeartbeatNotSavedOffline()
|
||||
self.assertOfflineHeartbeatsNotSynced()
|
||||
|
||||
@log_capture()
|
||||
def test_missing_api_key(self, logs):
|
||||
logging.disable(logging.NOTSET)
|
||||
|
|
|
@ -287,3 +287,22 @@ class CustomResponse(Response):
|
|||
return self.second_response_text if self.second_response_text is not None else self.response_text
|
||||
self._count += 1
|
||||
return self.response_text
|
||||
|
||||
|
||||
class SummaryResponse(Response):
|
||||
response_code = 200
|
||||
response_text = '{"data": [{"grand_total": {"text": "4 hrs 23 mins"}}]}'
|
||||
|
||||
_count = 0
|
||||
|
||||
@property
|
||||
def status_code(self):
|
||||
return self.response_code
|
||||
|
||||
@status_code.setter
|
||||
def status_code(self, value):
|
||||
pass
|
||||
|
||||
@property
|
||||
def text(self):
|
||||
return self.response_text
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue