Skip to content

Commit

Permalink
bitbucket.org integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
EBADBEEF committed Nov 22, 2023
1 parent d45bb11 commit ef52d48
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 0 deletions.
80 changes: 80 additions & 0 deletions tests/test_bitbucket.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
import subprocess

import conftest

from nix_update import main


# integration test for bitbucket versions (fetch_bitbucket_versions), mostly
# copied from test_gitea.py.
# run directly with 'nix develop -c pytest -s ./tests/test_bitbucket.py'.
def test_version(helpers: conftest.Helpers) -> None:
with helpers.testpkgs(init_git=True) as path:
main(["--file", str(path), "--commit", "bitbucket"])
version = subprocess.run(
[
"nix",
"eval",
"--raw",
"--extra-experimental-features",
"nix-command",
"-f",
path,
"bitbucket.version",
],
check=True,
text=True,
stdout=subprocess.PIPE,
).stdout.strip()
assert tuple(map(int, version.split("."))) > (1, 0)
commit = subprocess.run(
["git", "-C", path, "log", "-1"],
text=True,
stdout=subprocess.PIPE,
check=True,
).stdout.strip()
print(commit)
assert version in commit
assert "bitbucket" in commit
assert "/jongsoftdev/youless-python-bridge/branches/compare/" in commit
assert "%0D1.0" in commit


# integration test for bitbucket snapshots
def test_snapshot(helpers: conftest.Helpers) -> None:
with helpers.testpkgs(init_git=True) as path:
main(
[
"--file",
str(path),
"--commit",
"--version=branch=master",
"bitbucket-snapshot",
]
)
version = subprocess.run(
[
"nix",
"eval",
"--raw",
"--extra-experimental-features",
"nix-command",
"-f",
path,
"bitbucket-snapshot.version",
],
check=True,
text=True,
stdout=subprocess.PIPE,
).stdout.strip()
commit = subprocess.run(
["git", "-C", path, "log", "-1"],
text=True,
stdout=subprocess.PIPE,
check=True,
).stdout.strip()
print(commit)
assert version in commit
assert "bitbucket" in commit
assert "/jongsoftdev/youless-python-bridge/branches/compare/" in commit
assert "%0Dc04342ef36dd5ba8f7d9b9fce2fb4926ef401fd5" in commit
28 changes: 28 additions & 0 deletions tests/testpkgs/bitbucket.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{ stdenv, fetchFromBitbucket, isSnapshot }:

let
# Why this package? No reason, I just found a small package that uses tags
# for release by grepping through nixpkgs for fetchFromBitbucket.
owner = "jongsoftdev";
repo = "youless-python-bridge";
# As of 2023-11-22, latest version is 1.0.1, so we will be testing that it
# finds a version greater than 1.0. The rev from 2022-10-01 is an untagged
# commit.
version =
if (isSnapshot)
then "unstable-2022-10-01"
else "1.0";
rev =
if (isSnapshot)
then "c04342ef36dd5ba8f7d9b9fce2fb4926ef401fd5"
else "1.0";
in
stdenv.mkDerivation rec {
pname = repo;
inherit version;
src = fetchFromBitbucket {
inherit owner repo version rev;
# dont care about hash
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
};
}
2 changes: 2 additions & 0 deletions tests/testpkgs/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{ pkgs ? import <nixpkgs> { } }:
{
bitbucket = pkgs.callPackage ./bitbucket.nix { isSnapshot = false; };
bitbucket-snapshot = pkgs.callPackage ./bitbucket.nix { isSnapshot = true; };
cargoLock.expand = pkgs.callPackage ./cargo-lock-expand { };
cargoLock.update = pkgs.callPackage ./cargo-lock-update { };
crate = pkgs.callPackage ./crate.nix { };
Expand Down

0 comments on commit ef52d48

Please sign in to comment.