12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- from functools import cached_property
- import orjson
- from django.urls import reverse
- from sentry.testutils.cases import PluginTestCase
- from sentry_plugins.pivotal.plugin import PivotalPlugin
- class PivotalPluginTest(PluginTestCase):
- @cached_property
- def plugin(self):
- return PivotalPlugin()
- def test_conf_key(self):
- assert self.plugin.conf_key == "pivotal"
- def test_entry_point(self):
- self.assertPluginInstalled("pivotal", self.plugin)
- def test_get_issue_label(self):
- group = self.create_group(message="Hello world", culprit="foo.bar")
- assert self.plugin.get_issue_label(group, 1) == "#1"
- def test_get_issue_url(self):
- group = self.create_group(message="Hello world", culprit="foo.bar")
- assert self.plugin.get_issue_url(group, 1) == "https://www.pivotaltracker.com/story/show/1"
- def test_is_configured(self):
- assert self.plugin.is_configured(self.project) is False
- self.plugin.set_option("token", "1", self.project)
- self.plugin.set_option("project", "1", self.project)
- assert self.plugin.is_configured(self.project) is True
- def test_no_secrets(self):
- self.user = self.create_user("foo@example.com")
- self.org = self.create_organization(owner=self.user, name="Rowdy Tiger")
- self.team = self.create_team(organization=self.org, name="Mariachi Band")
- self.project = self.create_project(organization=self.org, teams=[self.team], name="Bengal")
- self.login_as(self.user)
- self.plugin.set_option("token", "abcdef", self.project)
- url = reverse(
- "sentry-api-0-project-plugin-details",
- args=[self.org.slug, self.project.slug, "pivotal"],
- )
- res = self.client.get(url)
- config = orjson.loads(res.content)["config"]
- token_config = [item for item in config if item["name"] == "token"][0]
- assert token_config.get("type") == "secret"
- assert token_config.get("value") is None
- assert token_config.get("hasSavedValue") is True
- assert token_config.get("prefix") == "abcd"
|