FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
GitPython/test/test_db.py at main · gitpython-developers/GitPython · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
gitpython-developers
/
GitPython
Public
Uh oh!
There was an error while loading.
Please reload this page
.
Notifications
You must be signed in to change notification settings
Fork
989
Star
5.2k
Code
Issues
8
Pull requests
2
Discussions
Actions
Security and quality
34
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
GitPython
/
test
/
test_db.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
41 lines (30 loc) · 1.43 KB
Breadcrumbs
GitPython
/
test
/
test_db.py
Copy path
File metadata and controls
41 lines (30 loc) · 1.43 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Copyright (C) 2008, 2009 Michael Trier (mtrier@gmail.com) and contributors
#
# This module is part of GitPython and is released under the
# 3-Clause BSD License: https://opensource.org/license/bsd-3-clause/
from
io
import
BytesIO
import
os
.
path
as
osp
from
unittest
import
mock
from
gitdb
import
IStream
from
gitdb
.
db
import
LooseObjectDB
from
gitdb
.
typ
import
str_blob_type
from
git
.
db
import
GitCmdObjectDB
from
git
.
exc
import
BadObject
from
git
.
util
import
bin_to_hex
from
test
.
lib
import
TestBase
,
with_rw_repo
class
TestDB
(
TestBase
):
@
with_rw_repo
(
"HEAD"
)
def
test_store_uses_hash_object
(
self
,
rw_repo
):
data
=
b"hello world"
with
mock
.
patch
.
object
(
LooseObjectDB
,
"store"
,
side_effect
=
AssertionError
(
"unexpected loose-object write"
)):
istream
=
rw_repo
.
odb
.
store
(
IStream
(
str_blob_type
,
len
(
data
),
BytesIO
(
data
)))
assert
rw_repo
.
odb
.
stream
(
istream
.
binsha
).
read
()
==
data
def
test_base
(
self
):
gdb
=
GitCmdObjectDB
(
osp
.
join
(
self
.
rorepo
.
git_dir
,
"objects"
),
self
.
rorepo
.
git
)
# Partial to complete - works with everything.
hexsha
=
bin_to_hex
(
gdb
.
partial_to_complete_sha_hex
(
"0.1.6"
))
assert
len
(
hexsha
)
==
40
assert
bin_to_hex
(
gdb
.
partial_to_complete_sha_hex
(
hexsha
[:
20
]))
==
hexsha
# Fails with BadObject.
for
invalid_rev
in
(
"0000"
,
"bad/ref"
,
"super bad"
):
self
.
assertRaises
(
BadObject
,
gdb
.
partial_to_complete_sha_hex
,
invalid_rev
)
Back
|
FazBrowse Home
|
New Git URL