Skip to content

Commit

Permalink
runfix: download cert from device settings for basic mls deivce [WPB-…
Browse files Browse the repository at this point in the history
…9193] (#17435) (#17436)

* runfix: mark the basic device as not e2ei activated

* test: not activated cert for basic mls device

Co-authored-by: Patryk Górka <patrykbunix@gmail.com>
  • Loading branch information
otto-the-bot and PatrykBuniX committed May 22, 2024
1 parent 2cf1358 commit f0d3550
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import {MLSStatuses, WireIdentity} from 'src/script/E2EIdentity';
import {E2EICertificateDetails} from './E2EICertificateDetails';

describe('E2EICertificateDetails', () => {
const generateIdentity = (status: MLSStatuses): WireIdentity => ({
const generateIdentity = (status: MLSStatuses, credentialType = CredentialType.X509): WireIdentity => ({
status,
x509Identity: {
certificate: 'certificate',
Expand All @@ -37,7 +37,7 @@ describe('E2EICertificateDetails', () => {
notAfter: BigInt(0),
serialNumber: '',
},
credentialType: CredentialType.Basic,
credentialType,
deviceId: '',
clientId: '',
thumbprint: '',
Expand All @@ -54,6 +54,15 @@ describe('E2EICertificateDetails', () => {
expect(E2EIdentityStatus.getAttribute('data-uie-value')).toEqual(MLSStatuses.NOT_ACTIVATED);
});

it('is e2ei identity not downloaded for basic MLS device', async () => {
const identity = generateIdentity(MLSStatuses.VALID, CredentialType.Basic);

const {getByTestId} = render(withTheme(<E2EICertificateDetails identity={identity} />));

const E2EIdentityStatus = getByTestId('e2ei-identity-status');
expect(E2EIdentityStatus.getAttribute('data-uie-value')).toEqual(MLSStatuses.NOT_ACTIVATED);
});

it('is e2ei identity expired', async () => {
const identity = generateIdentity(MLSStatuses.EXPIRED);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
*
*/

import {CredentialType} from '@wireapp/core/lib/messagingProtocols/mls';
import {TabIndex} from '@wireapp/react-ui-kit/lib/types/enums';

import {Button, ButtonVariant} from '@wireapp/react-ui-kit';
Expand All @@ -36,11 +37,19 @@ interface E2EICertificateDetailsProps {
isCurrentDevice?: boolean;
}

const getCertificateState = (identity?: WireIdentity) => {
if (!identity || identity.credentialType === CredentialType.Basic) {
return MLSStatuses.NOT_ACTIVATED;
}

return identity.status;
};

export const E2EICertificateDetails = ({identity, isCurrentDevice}: E2EICertificateDetailsProps) => {
const certificate = identity?.x509Identity?.certificate;
const showModal = useCertificateDetailsModal(certificate ?? '');

const certificateState = identity?.status ?? MLSStatuses.NOT_ACTIVATED;
const certificateState = getCertificateState(identity);
const isNotActivated = certificateState === MLSStatuses.NOT_ACTIVATED;
const isValid = certificateState === MLSStatuses.VALID;
const hasCertificate = !!certificate && Boolean(certificate.length);
Expand Down

0 comments on commit f0d3550

Please sign in to comment.