~chicharreros/magicicada-client/1.0

« back to all changes in this revision

Viewing changes to ubuntuone/syncdaemon/tests/test_sync.py

  • Committer: Magicicada Bot
  • Author(s): Facundo Batista
  • Date: 2018-03-09 21:17:37 UTC
  • mfrom: (1437.1.1 fix-logging-escaping)
  • Revision ID: magicicada_bot-20180309211737-45nl1k3j9vs4sng0
[r=nataliabidart] Fixed the path escaping when logging sync actions.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# -*- coding: utf-8 -*-
2
2
#
3
3
# Copyright 2009-2012 Canonical Ltd.
 
4
# Copyright 2015-2018 Chicharreros
4
5
#
5
6
# This program is free software: you can redistribute it and/or modify it
6
7
# under the terms of the GNU General Public License version 3, as published
349
350
        self.fsm = self.main.fs
350
351
        self.handler.setLevel(logging.DEBUG)
351
352
 
 
353
    def test_file_logging_having_metadata(self):
 
354
        """Check proper file info was logged, building all info from MD."""
 
355
        # fake method
 
356
        self.patch(SyncStateMachineRunner, 'new_local_file_created',
 
357
                   lambda *a: None)
 
358
 
 
359
        # create the node, set it up and send the event
 
360
        somepath = os.path.join(self.root, 'some%path')
 
361
        mdid = self.fsm.create(somepath, '', node_id='node_id')
 
362
        mdobj = self.fsm.get_by_mdid(mdid)
 
363
        self.sync.handle_AQ_FILE_NEW_OK(mdobj.share_id, mdid, 'new_id', 'gen')
 
364
 
 
365
        # check logs
 
366
        self.assertTrue(self.handler.check_debug(
 
367
            "some%path", "node_id", "gen", mdid))
 
368
 
 
369
    def test_file_logging_no_metadata(self):
 
370
        """Check proper file info was logged, building info from what got."""
 
371
        # create the parent, and call
 
372
        parentpath = os.path.join(self.root, 'some%path')
 
373
        self.fsm.create(parentpath, '', node_id='parent_id')
 
374
        self.sync._handle_SV_FILE_NEW('', 'node_id', 'parent_id', 'name')
 
375
 
 
376
        # check logs for the % case
 
377
        self.assertTrue(self.handler.check_debug("some%path"))
 
378
 
352
379
    def test_handle_AQ_DOWNLOAD_DOES_NOT_EXIST(self):
353
380
        """handle_AQ_DOWNLOAD_DOES_NOT_EXIST."""
354
381
        self.called = False
1905
1932
        dt2.is_live = False
1906
1933
        kwargs = dict(volume_id=ROOT, delta_content=[dt2], end_generation=11,
1907
1934
                      full=True, free_bytes=10)
1908
 
        self.sync._handle_SV_FILE_DELETED = lambda *args, **kwargs: 1/0
 
1935
        self.sync._handle_SV_FILE_DELETED = lambda *args, **kwargs: 1 / 0
1909
1936
        handler = MementoHandler()
1910
1937
        handler.setLevel(logging.ERROR)
1911
1938
        self.sync.logger.addHandler(handler)
1961
1988
        dt2.is_live = False
1962
1989
        kwargs = dict(volume_id=ROOT, delta_content=[dt2], end_generation=11,
1963
1990
                      full=True, free_bytes=10)
1964
 
        self.sync._handle_SV_FILE_DELETED = lambda *args, **kwargs: 1/0
 
1991
        self.sync._handle_SV_FILE_DELETED = lambda *args, **kwargs: 1 / 0
1965
1992
 
1966
1993
        # send the delta and check
1967
1994
        self.sync.handle_AQ_DELTA_OK(**kwargs)
2141
2168
                parent_id=self.root_id, share_id=ROOT, node_id=uuid.uuid4(),
2142
2169
                name=u"fileñ.%d.txt" % i, is_public=False, content_hash="hash",
2143
2170
                crc32=i, size=10, last_modified=0)
2144
 
            f.parent_id = directories[i-5].node_id
 
2171
            f.parent_id = directories[i - 5].node_id
2145
2172
            self.create_filetxt(dt=f)
2146
2173
            files.append(f)
2147
2174
 
2165
2192
        # now fake the get_delta for the changed node that was missing in the
2166
2193
        # rescan_from_scratch
2167
2194
        changed_file = files[2]
2168
 
        changed_file.generation = files[-1].generation+1
 
2195
        changed_file.generation = files[-1].generation + 1
2169
2196
        changed_file.hash = "hash-1"
2170
2197
 
2171
2198
        called = []
2205
2232
                parent_id=self.root_id, share_id=ROOT, node_id=uuid.uuid4(),
2206
2233
                name=u"fileñ.%d.txt" % i, is_public=False, content_hash="hash",
2207
2234
                crc32=i, size=10, last_modified=0)
2208
 
            f.parent_id = directories[i-5].node_id
 
2235
            f.parent_id = directories[i - 5].node_id
2209
2236
            self.create_filetxt(dt=f)
2210
2237
            files.append(f)
2211
2238
 
2229
2256
        # now fake the get_delta for the moved node that was missing in the
2230
2257
        # rescan_from_scratch
2231
2258
        changed_file = files[2]
2232
 
        changed_file.generation = files[-1].generation+1
 
2259
        changed_file.generation = files[-1].generation + 1
2233
2260
        changed_file.parent_id = directories[1].node_id
2234
2261
 
2235
2262
        called = []